idea 中解决maven 包冲突的问题(maven helper)
日常开发中经常会遇到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 的按钮了)
这里写图片描述
安装完成后,在 pom 文件下方会出现这个东西
这里写图片描述
点进去你会发现仿佛回到了 eclipse
这里写图片描述
接下来到重点了,选中冲突选项 conflicts,这一列都是存在冲突的包
这里写图片描述
以fastjson 为例
这里写图片描述
当然我们调错误的时候也可以直接搜索有问题的包,如下
这里写图片描述
选中右键就可以 Exclude 啦,想用1.2.28就把其他版本的Exclude掉,想用1.2.3就把其他版本的Exclude掉,是不是很方便。
这里写图片描述
注:这仅仅是我个人的一点见解和使用心得,如有异议请留言指正,万分感谢