Maven的聚合与继承


一、聚合

  如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合

1.1、聚合配置代码

1 <modules>
2       <module>模块一</module>
3       <module>模块二</module>
4       <module>模块三</module>
5 </modules>

  例如:对项目的appstore-intl-core、appstore-intl-api、appstore-intl-admin,appstore-intl-task这三个模块进行聚合

   Maven的聚合与继承

  其中module的路径为相对路径。

二、继承

  继承为了消除重复,我们把很多相同的配置提取出来,例如:grouptId,version等

2.1、继承配置代码

   Maven的聚合与继承

2.2、继承代码中定义属性

  继承代码过程中,可以定义属性,例如:

 Maven的聚合与继承

  访问属性的方式为${spring.version},例如:

   Maven的聚合与继承

2.3、父模块用dependencyManagement进行管理

Maven的聚合与继承

  这样的好处是子模块可以有选择行的继承,而不需要全部继承。

三、聚合与继承的关系

  聚合主要为了快速构建项目,继承主要为了消除重复

四、聚合与继承实战演练

 Maven项目,如下图所示:

  Maven的聚合与继承     Maven的聚合与继承

  

 我们首先看一下第一张图中的第一个pom.xml,pom.xml的配置信息如下:

  项目的pom.xml配置

Maven的聚合与继承


  在appstore.intl.core项目的pom.xml中继承项目的pom.xml配置

Maven的聚合与继承

  

   appstore-intl-apiappstore-intl-admin,appstore-intl-task中也是类似的配置。

    这样Maven就会一次性同时构建appstore-intl-coreappstore-intl-apiappstore-intl-admin,appstore-intl-task项目了。