1、maven聚合的目的
使用一条命令来构建一个实际项目下的多个模块。
2、父子目录结构
我们可以额外建立一个聚合用的模块,它仅有一个pom.xml文件,没有别的目录和文件。在它的pom.xml中packaging必须为POM,并且多了一个<modules>元素。在<modules>中每一个<module>声明一个实际项目中的一个模块。这里的值不是模块的artifactId,而是模块目录项对于当前POM锁在目录的相对路径。一般会将聚合模块方在项目目录的最顶层,其他功能模块作为聚合模块的子目录存在,子目录取名于功能模块的artifactId一致。比如:
<groupId>com.sjc.spring</groupId>
<artifactId>spring-mvc</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>spring_1 Maven Webapp</name>
<modules>
<module>spring-dao</module>
<module>spring-bean</module>
</modules>
3、平行目录结构
聚合模式与其他模块的目录结构除了上述的父子关系外,还可以使用平行目录结构。这是,可以修改聚合模块的POM,以指向正确的模块
<modules>
<module>../spring-dao</module>
<module>../spring-bean</module>
</modules>