在Ieda中使用Maven Helper协助解决包冲突

使用Maven进行依赖管理

在我们进行项目开发时免不了要依赖其他人的Jar包,不管是知名的Spring,Log4j等经典库,还是公司项目开发中依赖的其它部门的接口。而Maven是当前用的最多的包管理工具,使用它我们只需要在pom.xml文件中配置上我们需要的包的groupId、artifactId和版本号,Maven就会帮我们去远程镜像库下载。

包冲突产生的原因

但是,大家使用Maven进行包管理时经常会遇到一个问题:包冲突。包冲突?这是怎么产生的呢?因为我们引入的每一个包都有可能引用其它的很多包,Maven会把这些包都下载下来。如果有两个包在多处被引入,同时他们的版本又不一样就会产生冲突。

包冲突的危害

包冲突时,不一定马上使你的项目运行失败,可能执行到某行代码时才会报出NoSuchMethod等错误。这其实更可怕,想想你的项目明明能正常运行却在线上除了问题。基于此,很多公司代码上线前的编译过程都会又包规范检查,如果查到有冲突就阻止你上线。

使用Maven Helper发现包冲突

而我们在开发时如何找到包冲突并解决呢?这就要提到本文的主题Maven Helper。它是idea上的一个插件,可以帮我们分析处存在冲突的包。使用它我们可以快速解决包冲突。

Maven Helper的安装:
按Idea插件安装的一般方法进行即可,File – Settings – Plugins
在右侧选择Marketplace,搜索Maven Helper进行安装即可。
安装后按提示进行软件重启。

Maven Helper的使用:
打开pom.xml文件,在左下角切换到Dependency Analyzer标签

在这里插入图片描述
Maven Helper的主界面如下所示:
在这里插入图片描述
注意其中的Refresh UI按键,Maven Helper不会自动刷新,要点一下这个按键。同时如果更新了pom文件,需要点一下Reimport按钮。

另外,选中Conflicts单选按钮,下方会显示有冲突的包。左侧显示包的名字,点击后右侧会显示冲突的引入位置,在每个位置右键选择jump to source可以看到具体的引入位置。

解决包冲突的方法

找到冲突后的解决方法:
思想:让每个特定jar包只被引入一次,即固定一个版本引入。
方法:
在冲突包的依赖下使用exclusion标签排除低版本的依赖。

关注公众号,第一时间接收我更多文章
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/vxzhg/article/details/99986539
今日推荐