聚合:
为什么要用聚合:
我们会想要一次构建两个或两个以上的项目,而不是到两个模块或是多个模块的目录下分别执行mvn命令。Maven聚合(或者称为多模块)这一特性就是为该需求服务的。
继承:
为什么要使用继承:
pom.xml里面的配置,如果是多个项目,势必会出现依赖和插件的重复配置。在面向对象世界中,程序员可以使用类继承在一定程度上消除重复,在Maven的世界中,也有类似的
机制能让我们抽取出重复的配置,这就是pom的继承
聚合和继承的关系:
多模块Maven项目中的聚合与继承其实是两个概念,其目的完全是不同的。前者是为了方便快速构建项目,后者是为了消除重复配置。
对于聚合模块来说,他知道有哪些被聚合的模块,但是那些被聚合的模块不知道这个聚合模块的存在
对于继承关系的父POM来说,他不知道有哪些子模块继承于它,但哪些子模块都必须知道自己的父POM是什么
如果非要说这个两个特性的共同点,那么可以看到,聚合POM与继承关系中的父POM的packaging都必须是pom,同时,聚合模块与继承关系的父模块除了POM之外都没有实际的内容。