maven-冲突的原理及解决办法

一、使用mvn dependency:tree 命令

1、直接使用mvn dependency:tree命令是分模块打印出来的,

2、如果需要打印到文件,可以使用  mvn dependency:tree ->a.txt  这个命令

mvn dependency:tree 命令的怎么看结果及其他用法

间接依赖的mvn 命令行查看 mvn dependency:tree_金箍一梦何来愁的博客-CSDN博客_mvn 查看间接依赖

二、使用工具 

Maven中 jar包冲突原理与解决办法_web18484626332的博客-CSDN博客_maven包冲突

maven中pom依赖相同jar包优先顺序加载版本_起个名字真XX费劲的博客-CSDN博客_pom依赖加载顺序

三、处理jar冲突原则

处理jar包依赖冲突
简介:处理jar包依赖冲突,首先,对于多个jar包都引用同一jar包的情况,最好是在程序中显式定义被共同引用的jar包的依赖,来统一版本号,方便维护

如果A和B都依赖同一jar包C,可能会出现两种情况

1.A和B引用的C版本相同,这时按照pom定义顺序选择第一个即可,没有冲突问题,如果在项目的maven中显示定义了C依赖,那么用选择项目定义的依赖,反正version都一样,没有影响

2.A和B依赖的C版本不同,选择版本高的那个,这时会出现两种结果

  (1) 高版本兼容低版本,所以不会出现问题

  (2)高版本不兼容低版本,假如A依赖C2版本,B依赖C3版本,C3不兼容C2,maven选择了高版本C3,对A来说会出现问题

  有3种解决方法

  [1]提升A版本,找到依赖C3的A版本

  [2]如果B版本也可依赖C2,在项目的maven中显示定义对C2的依赖,这样所有都使用C2版本

  [3]如果B版本不支持C2版本,只能降低B版本,找到依赖C2的B版本

  从功能性和可维护性考虑,高版本提供的功能更多,bug更少,优先考虑1

  再考虑2

  最后考虑3
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值