maven 依赖树
idea 可视化使用
查看依赖树
如图,点击 maven,展开项目,可以看到 Dependencies。这些是项目引入的 jar 包,但是看不出依赖冲突问题。

点击 Show Dependencies ,即可打开项目依赖树图。

- 蓝色线:正常依赖
- 红色虚线:同一个包被多次引用,编译可过
- 红色实线:依赖冲突,会导致编译出错
解决冲突
- 右键 红色实线 指向的 jar 包,右键选择
Exclude,然后 idea 右下角就会弹出 提示你Import Changes。 - 点击
Import Changes,查看 pom.xml 文件,相关的 dependency 依赖已经多了 excluion 标签了,即去除该依赖的意思。
命令使用
输出依赖树
两种方式召唤出命令工具,并执行命令查看 maven 依赖树。
1、点击 idea 的 maven -> Execute Maven Goal,弹出 maven 命令提示列表,输入dependency:tree

2、Terminal 终端输入 mvn dependency:tree

enter. 即可看到这种格式的 jar 依赖树啦。

扩展
mvn dependency:tree命令必须要在 pom.xml 同级目录下执行- 查看最全的传递依赖,加
-Dverbose,如mvn dependency:tree -Dverbose - 过滤依赖,加
-Dincludes=groupId[:artifactId][:version],如
mvn dependency:tree -Dverbose -Dincludes=org.springframework:spring-tx - 保存依赖树,加
>xxx.txt,如mvn dependency:tree -Dverbose>dependency.txt - idea 中可通过使用
maven helper插件便捷处理大量冲突,参考 idea 中解决maven 包冲突的问题(maven helper)
参考与感谢
http://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html
https://maven.apache.org/plugins/maven-dependency-plugin/examples/filtering-the-dependency-tree.html

浙公网安备 33010602011771号