IDEA查看maven依赖树,找出冲突jar包,以及 exclusion 冲突的包

在实际开发过程中,会经常碰到maven依赖冲突的问题,导致编译的时候报一些异常,这里提供一个简单的的方法,在 IDEA 上查找依赖冲突的地方,以及排除依赖包。

在 idea 界面的右上角找到下图 1 的地方,点击可以看到该项目下有个Dependencies的目录,他详细记录了我们引入了的jar包,当然这里是看不到依赖冲突的问题的

IDEA查看maven依赖树,找出冲突jar包,以及 exclusion 冲突的包_第1张图片

然后我们点击上图 3 的位置,打开下面这样一个依赖详细的树状结构

注意:不同版本的IDEA那个按钮的图标不一样,但是位置是不变的,你根据位置定位到就好

IDEA查看maven依赖树,找出冲突jar包,以及 exclusion 冲突的包_第2张图片

可以看到很多密密麻麻的蓝色线,蓝色线表示依赖是没有问题的,而红色虚线是表示同一个jar都在哪里被多次引用了,红色实线则表示依赖冲突了,(这里说下同个jar包多次引用,并不会导致编译出错,而依赖冲突了才会导致编译过不了) 

红色实线是我们必须要解决的依赖冲突,这时候我们可以直接鼠标点击红色实线指向的jar包,右键选择  Exclude ,然后 idea 右下角就会弹出 提示你 Import Changes

IDEA查看maven依赖树,找出冲突jar包,以及 exclusion 冲突的包_第3张图片           

点击 Import Changes 后你再去查看 pom.xml 文件,相关的 dependency 依赖已经多了 excluion 标签了

(原本在去除依赖冲突前,下面的红色框里的内容是没有的)

IDEA查看maven依赖树,找出冲突jar包,以及 exclusion 冲突的包_第4张图片

然后其实我们如果知道了哪些依赖包里面有冲突的jar包我们也可以直接到pom.xml文件里面,自己加上 exclusion 标签单独去除对应的依赖jar包!

 

下面还有一种查看jar包依赖树的方法:

打开 Terminal 输入mvn的命令查看jar依赖树

下面两个命令,加上 -Dverbose>xxx.txt 参数的其实就是将输出的内容生成一个指定的文件放在根目录

不加后面指令的就是直接输出到控制台

IDEA查看maven依赖树,找出冲突jar包,以及 exclusion 冲突的包_第5张图片

mvn dependency:tree
mvn dependency:tree -Dverbose>dependency.txt

注意:mvn dependency:tree 命令必须要在pom.xml同级目录下执行

你可能感兴趣的:(maven,maven)