一、聚合
为了方便一组项目进行统一的操作而作为一个大的整体;
字面理解就是“聚在一起合作完成工作”,就是将子模块聚集起来完成相应的项目需求
Maven约定:
1、首先聚合模块打包方式必须为pom
,否则无法构建
2、必须有<modules>
元素,它是实现聚合的最核心配置。这里可以声明多个<module>
元素。每个module的值都是一个当前pom的相对目录。模块所处的目录必须和<module>
模块所处的目录一致。
3、为了方便用户构建项目,通常将聚合模块放在项目目录的最顶层,其他模块则作为聚合模块的子目录存在。
4、聚合模块的pom没有实质性内容,只有一个pom.xml文件。只是用来帮助其他模块构建的工具。
二、继承
为了抽取统一的配置信息和依赖版本控制,方便子POM直接引用,简化子POM的配置。作用就是避免配置重复,对于子项目来说应该关心父项目是怎么样配置的。
三、实例
parent
common
注意
1、普通子模块打包方式为jar
,web子模块打包方式为war
。
2、在运行聚合工程之前需要将parent,common工程安装至本地仓库,不然会报找不到依赖的错误。
总结
聚合解决构建的问题,继承解决jar包重复问题
【参考文章】