通过mvn dependency:tree 查看依赖树,解决依赖jar冲突问题

项目场景:

项目场景: 在我们日常工作的时候,经常需要遇到 maven 的 包冲突的情况,这样我们就需要 利用 maven 指令去查看包的冲突的问题。


解决方案:

主要用到的指令为 mvn dependency:tree ,在 pom.xml 所在的目录下执行。

查看部分依赖

会查看到二级层级的依赖关系 (并不能看到所有的依赖关系):

 mvn dependency:tree  
  1. idea中双击Ctrl,然后输入 mvn dependency:tree命令
    在这里插入图片描述

  2. 输出结果(部分)

D:\kafka\springboot>mvn dependency:tree
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< com.dhx:springboot >-------------------------
[INFO] Building springboot 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:3.2.0:tree (default-cli) @ springboot ---
[INFO] com.dhx:springboot:jar:0.0.1-SNAPSHOT
[INFO] +- junit:junit:jar:4.11:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:2.2:test
[INFO] |     \- org.hamcrest:hamcrest:jar:2.2:test
[INFO] +- org.springframework:spring-core:jar:4.3.8.RELEASE:compile
[INFO] |  \- commons-logging:commons-logging:jar:1.2:compile
[INFO] +- org.springframework:spring-beans:jar:4.3.8.RELEASE:compile
[INFO] +- org.springframework:spring-context-support:jar:4.3.8.RELEASE:compile
[INFO] |  \- org.springframework:spring-context:jar:5.3.19:compile
[INFO] |     \- org.springframework:spring-expression:jar:5.3.19:compile
[INFO] +- org.springframework:spring-aop:jar:4.3.8.RELEASE:compile
[INFO] +- org.springframework:spring-aspects:jar:4.3.8.RELEASE:compile
[INFO] |  \- org.aspectj:aspectjweaver:jar:1.9.7:compile
[INFO] +- org.springframework:spring-jdbc:jar:4.3.8.RELEASE:compile
[INFO] |  \- org.springframework:spring-tx:jar:5.3.19:compile
[INFO] +- org.springframework:spring-test:jar:4.3.8.RELEASE:provided
[INFO] +- mysql:mysql-connector-java:jar:6.0.6:compile
[INFO] +- org.apache.hive:hive-jdbc:jar:2.3.2:compile
[INFO] |  +- org.apache.hive:hive-common:jar:2.3.2:compile
[INFO] |  |  +- org.apache.hive:hive-storage-api:jar:2.4.0:compile
[INFO] |  |  +- org.apache.commons:commons-lang3:jar:3.12.0:compile
[INFO] |  |  +- org.apache.orc:orc-core:jar:1.3.3:compile
[INFO] |  |  |  \- io.airlift:aircompressor:jar:0.3:compile
[INFO] |  |  +- jline:jline:jar:2.12:compile
[INFO] |  |  +- org.eclipse.jetty.aggregate:jetty-all:jar:7.6.0.v20120127:compile
[INFO] |  |  |  +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
[INFO] |  |  |  +- javax.mail:mail:jar:1.4.1:compile

注意:

  1. +-”符号:表示该包后面还有其它依赖包。
  2. \-”表示:该包后面不再依赖其它jar包。

查看完整依赖

查看完整的依赖关系,需要增加参数 -Dverbose,指令如下:

mvn dependency:tree  -Dverbose

查看感兴趣的依赖部分

通常我们只对产生冲突的部分感兴趣,这个时候我们就要对信息进行提取:

需要增加以下参数

 -Dincludes=*guava*

注意:

includes 支持通配符的形式

执行指令:

mvn dependency:tree -Dverbose -Dincludes=*guava*
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值