Maven的聚合特性能够把项目的各个模块聚合在一起构建,而maven的继承特性怎能帮助抽取各个模块相同的依赖和插件配置,在简化pom的同时,促进各个模块的一致性。
(一)聚合
聚合可以一次构建多个项目,而不是到多个模块的目录下分别执行mvn命令。
聚合实例:
创建一个新的模块,命名为account-aggregator。通过该模块可以聚合多个项目。注意:该模块的文件夹放置的位置 会导致与其他模块是父子关系,还是并行关系。
1,如果聚合模块与其他模块放在同一个文件夹里,那就是平行关系:
文件夹位置:
在聚合模块中,只需要pom文件,其他的src/main/java 和src/main/test文件夹都可以直接删除。并修改pom中的配置如下:
<groupId>com.juvenxu.mvnbook.account</groupId>
<artifactId>account-aggregator</artifactId>
<version>1.0-SNAPSHOT</version>
<!--打包方式必须为pom-->
<packaging>pom</packaging>
<name>account-aggregator</name>
<!--这样会是三者 平行关系-->
<modules>
<module>../chapter05</module>
<module>../chapter08</module>
</modules>
运行聚合模块后,会出现如下结果:
2、建议将多个项目放在聚合模块文件夹的里面,这样形成父子关系。修改的pom为:
<groupId>com.juvenxu.mvnbook.account</groupId>
<artifactId>account-aggregator</artifactId>
<version>1.0-SNAPSHOT</version>
<!--打包方式必须为pom-->
<packaging>pom</packaging</