使用Maven Helper插件解决jar包依赖冲突问题

一、何为依赖冲突

Maven的依赖机制会导致Jar包的冲突。举个例子,现在你的项目中,使用了两个Jar包,分别是A和B。现在A需要依赖另一个Jar包C,B也需要依赖C。但是A依赖的C的版本是1.0,B依赖的C的版本是2.0。这时候,Maven会将这1.0的C和2.0的C都下载到你的项目中,这样你的项目中就存在了不同版本的C,可能会出现两种情况:

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

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

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

2)高版本不兼容低版本,假如A依赖C2版本,B依赖C3版本,C3不兼容C2,maven选择了高版本C3,对A来说会出现问题,这就是所谓的依赖冲突。

 

二、IDEA安装Maven Helper插件

File->Settings->Plugins->MarketPlace 搜索Maven Helper,如下图:

点击Install,安装后重启IDEA。

如果在打开的pom.xml窗口下面显示出“Dependency Analyzer”,表名插件安装成功。

三、解决依赖冲突情况

1. 点击Dependency Analyzer

界面如下,有几大功能:

1)显示冲突的jar包;

2)以列表形式显示所有依赖;

3)以树的形式显示所有依赖;

4)搜索指定的jar包。

2. 逐个解决conflicts列表中的jar包冲突问题

以guava为例:

找到右侧部分红色字体,即依赖冲突的地方

上图显示,当前guava版本是16.0,但是有两个依赖的guava版本分别是14.0.1和11.0.2。

3. 将依赖的低版本都排除掉

选中红色字体显示的内容->右键->Exclude,完成上述步骤产生的结果如下:

至此,通过Maven Helper插件完成了guava包依赖冲突的问题,其他的类似。

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值