idea 中解决maven 包冲突的问题(maven helper)

idea 中解决maven 包冲突的问题(maven helper)

一.冲突问题

比如项目中引用了两个 fastjson.jar的版本,分别为

fastjson:1.2.28
fastjson:1.2.3

我们用到了1.2.28中的某个类, 比如 A类,在版本更新中 1.2.3版本去掉了这个类,然而我们项目中maven 却把1.2.3的 jar 打包进去了,那我们就会报异常,不存在这个 class,但是我们调错误的时候却发现这个类存在,那我们怎么找到问题根源呢,到底是哪个包的需要Exclude 呢?

idea 中查看 maven 依赖只会给你一个复杂到极点图,基本没有啥价值,所以要安装个插件 maven helper

二.解决问题

(1)首先安装插件 maven helper(因为我已经安装了,所以没 install 的按钮了)

(2)安装完成后,在 pom 文件下方会出现这个东西

(3)点进去你会发现仿佛回到了 eclipse

(4)接下来到重点了,选中冲突选项 conflicts,这一列都是存在冲突的包

(5)以fastjson 为例

(6)当然我们调错误的时候也可以直接搜索有问题的包,如下 

(7)选中右键就可以 Exclude 啦,想用1.2.28就把其他版本的Exclude掉,想用1.2.3就把其他版本的Exclude掉,是不是很方便。

三.锁定jar版本

面对众多的依赖,有一种方法不用考虑依赖路径、声明优化等因素可以采用直接锁定版本的方法确定依赖构件的版本,版本锁定后则不考虑依赖的声明顺序或依赖的路径,以锁定的版本的为准添加到工程中,此方法在企业开发中常用。

如下的配置是锁定了spring-beans和spring-context的版本

 

 
  1.  
  2. <dependencyManagement>

  3. <dependencies>

  4. <!--这里锁定版本为4.2.4 -->

  5. <dependency>

  6. <groupId>org.springframework</groupId>

  7. <artifactId>spring-beans</artifactId>

  8. <version>4.2.4.RELEASE</version>

  9. </dependency>

  10. <dependency>

  11. <groupId>org.springframework</groupId>

  12. <artifactId>spring-context</artifactId>

  13. <version>4.2.4.RELEASE</version>

  14. </dependency>

  15. </dependencies>

  16. </dependencyManagement>

 

注意:在工程中锁定依赖的版本并不代表在工程中添加了依赖,如果工程需要添加锁定版本的依赖则需要单独添加<dependencies></dependencies>标签,如下:

 
  1. <dependencies>

  2. <!--这里是添加依赖 -->

  3. <dependency>

  4. <groupId>org.springframework</groupId>

  5. <artifactId>spring-beans</artifactId>

  6. </dependency>

  7. <dependency>

  8. <groupId>org.springframework</groupId>

  9. <artifactId>spring-context</artifactId>

  10. </dependency>

  11. </dependencies>

 

上边添加的依赖并没有指定版本,原因是已在<dependencyManagement>中锁定了版本,所以在<dependency>下不需要再指定版本。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 IntelliJ IDEA 使用 Maven Helper 插件可以帮助你解决 Maven 项目的依赖问题。以下是使用 Maven Helper 插件的步骤: 1. 安装插件:在 IntelliJ IDEA ,打开插件市场(File -> Settings -> Plugins),搜索 "Maven Helper",然后点击 "Install" 安装插件。 2. 打开 Maven Helper 工具窗口:点击底部的 "Maven Helper" 工具窗口按钮,或者选择 "View" -> "Tool Windows" -> "Maven Helper" 菜单来打开 Maven Helper 工具窗口。 3. 导入 Maven 项目:在 Maven Helper 工具窗口,点击 "+" 按钮,选择 "Import Maven Projects"。选择你的项目目录,并点击 "OK"。 4. 查看依赖树:在 Maven Helper 工具窗口,展开你的项目,找到 "Dependencies" 节点。点击 "Dependencies" 节点,将显示项目的依赖树结构。 5. 解决依赖冲突:在依赖树,你可以查看每个依赖项及其版本。如果存在依赖冲突Maven Helper 会将冲突项标记为红色。你可以通过右键单击冲突项,选择 "Exclude This Artifact" 或 "Exclude This Artifact and Its Transitive Dependencies" 来解决冲突。 6. 查看依赖关系:在依赖树,你还可以查看每个依赖项的传递依赖关系。展开特定的依赖项,可以看到它所依赖的其他库和版本。 除了上述功能,Maven Helper 还提供了其他有用的功能,如显示冲突的依赖项、查找依赖项的冲突路径、检查重复的依赖项等。你可以通过点击 Maven Helper 工具窗口顶部的不同选项卡来访问这些功能。 请注意,具体的使用方法可能因插件版本和 IntelliJ IDEA 版本而有所不同。如果你遇到任何问题,可以参考 Maven Helper 插件的文档或搜索相关资源来获取更详细的指导。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值