冲突起源
jar包冲突往往发生于pom依赖注入,因为依赖包含多个jar包,所以当我们拥有多个依赖时,就不可避免有多个不同版本的同一jar包
这是两个相同的jar包但IDEA都没有选择运行它们,因为有第三个相同jar包存在,那个jar包实际上才被使用
冲突危害
笔者实力有限,目前所知的危害就是导致一些你明明导入了依赖,想使用的类依然无法使用,因为IDEA没有选择这个依赖下的jar包,它选择了更高或更低版本的jar包,而恰好,这个jar包并没有这个类
冲突的解决
以下提供一种思路
首先安装插件,它可以清晰观察冲突jar包
安装之后在任意pom文件可以通过1进入此界面,点击2和3可以清晰看到4显现出冲突的jar包
右键点击Jump to source即可删除依赖啦!
删除依赖的影响
1 新的jar包可能把原来jar包的类路径做了调整,我们需要进行重新导入,这时可以用Ctrl+Shift+R进行全局替换
2 新的jar包取消了旧jar包的一些类,有人使用了旧jar包(往往是公司的其他员工。。。)的类,偏偏你也在项目中做了一些个人的修改不愿重来,如果使用了git可以考虑回滚,如果没有(这充分说明备份很重要)可以把需要还原的文件和旧版本作比较,这样可以通过对比选择需要还原的部分