Maven的聚合特性能够把项目的各个模块聚合在一起构建,而Maven的继承特性则能帮助抽取个模块相同的依赖和插件等配置,在简化POM的同时,还能促进各个模块配置的一致性。
一般说来一个项目的子模块都应该使用同样的groupId,如果他们一起开发和发布,还应该使用同样的version,此外,它们的artifactId还应该使用一致的前缀,以方便同其他项目区分。
对于聚合模块来说,其打包方式packaging的值必须为pom,否则就无法构建
聚合模块与其他模块可以是父子关系也可以是平行关系,平行关系需要正确配置父pom中具体元素,eg:../sub-module
Maven会首先解析聚合模块的POM、分析要构建的模块、并计算出一个反应堆构建顺序,然后根据这个顺序一次构建各个模块。反应堆是所有模块组成的一个构建结构
可继承的pom元素
groupId
version
description:项目的描述信息
organization:项目的组织信息
inceptionYear:项目的创始年份
url:项目的URL地址
developers:开发者信息
contributors:贡献者信息
distributionManagement:项目的部署配置
issueManagement:项目的缺陷跟踪系统信息
ciManagement:项目的持续集成系统信息
scm:项目的版本控制系统信息
mailingLists:项目的邮件列表信息
properties:自定义的maven属性
dependencies 项目的依赖管理配置
dependencyManagement:项目的依赖管理配置
reposi