maven构建项目中聚合与继承

聚合是为了方面快速构建项目,而继承则是为了消除重复配置。

是否遇到过这样的情况,当你从公司git地址上clone项目时,本来是一个项目,clone后会出现好几个maven项目呢?

这就是maven的聚合功能。

当使用聚合时,需要几个注意地方:

①:主聚合pom文件中,<packaging>节点必须为pom。

②:在project节点下加入待聚合的节点信息如:

<modules>

<module>xxx</module>

<module>yyy</module>

</modules>

③:如果待聚合项目的模块不是父子类结构,而是平行模块(或其他)的时候,则需要相应的修改模块地址:

<!--假设是平行结构--!>

<modules>

<module>../\xxx</module>

<module>../yyy</module>

</modules>

当使用继承时,父模块无需修改,而仅仅只需要子木块去继承即可,

在project节点下加入:

<parent>

<groupId>com.my.test</groupId>

<artifactId>myMaven</artifactId>

<version>1.0.0-SNAPSHOT</version>

<relativePath>../parent/pom.xml</relativePath>

</parent>


并且,可以使用dependencyManagement和pluginManagement两个标签进行继承时候的,插件和依赖的管理。

意思是,当子模块继承父模块时,如果使用*management时,只有当子类中配置了相应的dependency或者plugin,并且其

groupId和artifactId与父模块中一致时,父模块中*management才会影响实际的插件行为。

在一个,当使用继承或者聚合一起使用时,反应堆(Reactor)的构造顺序是怎样的呢?

①:根据父模块的modules中顺序来;

②:如果子模块在父模块之前,则应该先构造父模块;

③:模块中的依赖关系会将反应堆构成一个有向非循环图,不允许出现循环,如果出现

模块A依赖于B,而B又依赖于A的情况,maven就会报错;




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值