欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-03 15:05:04
日常开发中经常会遇到xxx.class 找不到的异常,但是这个类确实存在我们的项目中,就会感觉很离奇,其实这就是包冲突的问题 冲突问题 比如项目中引用了两个 fastj...

日常开发中经常会遇到xxx.class 找不到的异常,但是这个类确实存在我们的项目中,就会感觉很离奇,其实这就是包冲突的问题

冲突问题

比如项目中引用了两个 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 问题

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

解决问题

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

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

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

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

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

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

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

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

以fastjson 为例

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

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

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。