Maven - 如何从一个项目构建多个独立Maven项目

时间:2012-05-19 14:17:25

标签: maven configuration build compilation build-process

我有3个maven项目

  • WebComponents
  • DataComponents
  • ServiceComponents

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

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

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

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

2 个答案:

答案 0 :(得分:37)

您正在寻找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一样。

答案 1 :(得分:5)

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