1.什么是maven的聚合模块?
聚合模块为项目目录的最顶层,其他模块作为聚合模块子目录而存在。目的是为一次构建多个项目模块。
1.1 项目结构
我自己化了一个关于项目的关系:
1.2 pom标签配置-module下载
maven-aggregate作为maven pom项目,需要定义pom.xml的 packaging 为 pom类型
我们还是参照 maven的依赖特性,冲突解决(五) 创建 maven-01 maven-02 maven-03工程,通过maven-aggregate pom工程 对这三个maven项目做一个聚合,配置如下:
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>com.sohu.train</groupId>
- <artifactId>maven-aggregate</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
- <!-- 子模块 指定项目pom的位置 ..代表上一级目录-->
- <modules>
- <module>../maven-01</module>
- <module>../maven-02</module>
- <module>..maven-03</module>
- </modules>
- </project>
对 maven-aggregate执行下mvn clean compile
- [INFO] Scanning for projects...
- [WARNING]
- [WARNING] Some problems were encountered while building the effective model for com.sohu.train:maven-02:jar:1.0-SNAPSHORT
- [WARNING] 'dependencies.dependency.exclusions.exclusion.groupId' for junit:junit:jar is missing. @ line 38, column 16