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

迈不过友情╰ 2023-10-08 12:11 91阅读 0赞

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjEzMjE0Mw_size_16_color_FFFFFF_t_70

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjEzMjE0Mw_size_16_color_FFFFFF_t_70 1

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

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

20200408115051701.png 20200408115141406.png

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjEzMjE0Mw_size_16_color_FFFFFF_t_70 2

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

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

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

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjEzMjE0Mw_size_16_color_FFFFFF_t_70 3

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

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

发表评论

表情:
评论列表 (有 0 条评论,91人围观)

还没有评论,来说两句吧...

相关阅读

    相关 解决Maven依赖jar冲突总结

    maven导入jar包中的一些概念: 直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包。 传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖jar包