是否可以包含几个较小的pom文件来创建父pom文件。 (例如,我想将报告拆分,将部分构建到自己的pom中并将它们包含在父pom中)以便有效地管理它们
答案 0 :(得分:16)
如果您使用的是Maven 2,则只需创建多个父级别即可。第一个pom.xml
( pom1 )将定义基本属性(例如存储库)。第二个pom.xml
( pom2 ), pom1 为<parent>
,将定义报告信息。等等......最后,“真实”pom.xml
将继承自 pom2 ,并将定义自己的属性。
您可以根据需要创建任意数量的父级别(当然,如果您有5个父级别,则会更难维护。)
请注意,Maven 3谈到引入mixin concept,这样您就可以将pom.xml
分段为多个文件,但看起来像that is not happening now until maven 4
答案 1 :(得分:5)
不完全。您不能包含在较小POM中定义的报告和构建部分,您只能inherit them from a parent POM 如果您的POM变得太大,则可以(并建议)将您的依赖项安排到逻辑组中。例如,对于GWT项目,您可以为与GWT相关的所有持久性创建新的POM,如下所示:
<project>
<groupId>org.yourcompany</groupId>
<artifactId>gwt-dependencies</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>com.google</groupId>
<artifactId>gwt-user</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.extjs</groupId>
<artifactId>gxt</artifactId>
<version>2.1.0</version>
</dependency>
<!-- etc -->
</dependencies>
</project>
然后,这些组可以包含在您的主POM中。
答案 2 :(得分:1)
最近,使用Maven Tiles的选项已成为可能。该插件将允许您执行Maven 3未提供的mixin操作。但是,每个mixin都需要一个已发布的tile artefact。