【问题标题】:Maven - How to build multiple Independent Maven projects from one projectMaven - 如何从一个项目构建多个独立的 Maven 项目
【发布时间】:2012-05-26 19:31:21
【问题描述】:

我有 3 个 maven 项目

  • Web 组件
  • 数据组件
  • 服务组件

当我构建每个项目时,我必须进入每个文件夹并在每个项目上运行 mvn clean install。

我研究了多模块项目,我看到的大部分资源表明我必须对现有项目的结构进行更改。

是否可以有一个新项目来构建每个独立项目,而我不必对现有项目中的任何内容(包括它们各自的 pom 文件)进行任何更改?

我可能可以通过编写一个构建每个项目的简单批处理文件来实现这一点,但是否可以使用 Maven?

【问题讨论】:

    标签: maven configuration build compilation build-process


    【解决方案1】:

    您正在寻找Maven aggregation without inheritance。如所引用的页面所示,您只需创建一个新的 POM,其包装为“pom”并且具有“模块”列表。一个模块是另一个 Maven 项目的相对路径:

    <project>
      ...
      <packaging>pom</packaging>
      ...
      <modules>
        <module>foo</module> <!-- module is in a subdirectory of this project -->
        <module>../bar</module> <!-- module is a sibling to this project -->
        <module>../../../other-projects/baz</module> <!-- somewhere else entirely -->
      </modules>
    </project>
    

    构建此类 pom(称为“聚合器”)时的默认行为是构建所有模块,就好像您在每个模块目录中使用相同的参数执行 Maven。

    【讨论】:

    • 这可以用来为每个模块(项目)使用聚合器项目的版本吗?
    【解决方案2】:

    如果您在将它们命名为模块的三个项目上方的目录中添加聚合器项目(模块名称 = 子目录名称),它将构建它们而无需对它们自己的 POM 进行任何更改。他们不需要将其作为父级引用。

    【讨论】:

      猜你喜欢
      • 2018-11-11
      • 1970-01-01
      • 2014-07-05
      • 2011-03-23
      • 2020-10-10
      • 2011-10-23
      • 2015-05-12
      • 2012-09-08
      • 2014-05-22
      相关资源
      最近更新 更多