Maven_6_依赖传递的两个原则

 

 

1.第一声明者优先原则

谁先在pom.xml中申明,就用谁的。跟坐标代码的顺序有关

测试:

添加struts2-spring-plugin(2.3.24)在前,spring-context(4.2.3.RELEASE)在后。

 

结果

 

如果将上边struts-spring-pluginsspring-context顺序颠倒,系统将导入spring-beans-4.2.3。

 

结果:

 

分析:

由于spring-context在前边以spring-context依赖的spring-beans-4.2.3为准,所以最终spring-beans-4.2.3添加到了工程中。

 

2.路径近者优先原则

struts2-spring-plugin(2.3.24)spring-context(4.2.3.RELEASE)都会添加spring-beans的依赖。Strut2-spring-plugin会引入spring-beans.3.0.5, spring-context会引入spring-beans.4.2.3。如果这时我们直接加入新的依赖叫spring-beans.4.2.4.RELEASE

 

结果:

 

分析:系统中如果要引入spring-beans,可以有以下方法

Ø 通过引入struts2-spring-plugin,它会引入spring-beans.3.0.5的版本。需要经过的路径为2个节点

Ø 通过引入srping-beans-4.2.3,它会引入spring-beans.4.2.3的版本,需要经过的路径为2个节点

Ø 如果直接引入spring-beans-4.2.4,只需要经过1个节点

因此不管spring-beans.4.2.4的位置在哪,系统始终都是引入spring-beans.4.2.4的版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值