maven 依赖冲突

1.进入http://www.mvnrepository.com/
输入commons-io点击

Apache Commons IO
这里我们使用2.4和2.0
点击2.4页面上会出现依赖的坐标

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

点2.0也会出现依赖的坐标

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.0</version>
</dependency>

新建三个依赖传递的maven项目(hongxing-shanji-->hongxing-bege---->hongxing-nange)从左到右依赖
在bege的pom中加入2.0的依赖
在nage的pom中加入2.4的依赖

在shanji左边的依赖关系中可以看见是依赖的是bege的2.0的commons可以得出短路优先

现在将依赖关系变为shanji直接依赖bege 和shanji依赖nange 先引入bege的坐标在其后面引入nange的坐标
可以发现左边的依赖关系是2.0commons,所以得出路径长度相同谁先声明谁优先,先解析谁


如果A和B依赖了一个不同版本的相同的构件C。
①:短路优先:
会优先解析路径短的版本。
A -> B -> C -> X(jar)
A -> D -> X(jar) 优先解析短的
②:先声明先优先:
如果路径长度相同,则谁先声明,先解析谁。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值