一、指令指导文档:

官方文档:https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html

https://maven.apache.org/plugins/maven-dependency-plugin/examples/filtering-the-dependency-tree.html

二、常用参数详解

  • includes

    类型:String

    描述:显示包含依赖的jar包。

    格式[groupId]:[artifactId]:[type]:[version],支持通配符*。例如,org.apache.*将匹配groupid 以org.apache.开头的所有内容;:::*-SNAPSHOT匹配所有jar。

  • excludes

    类型:String

    描述:显示不包含依赖的jar包。

    格式[groupId]:[artifactId]:[type]:[version],支持通配符*

  • appendOutput

    类型:boolean

    描述:是否将输出内容追加到文件或覆盖它。

    默认值false

  • outputEncoding

    类型:String

    描述:无

    默认值: ${project.reporting.outputEncoding}

  • outputFile

    类型:File

    描述:如果指定,此参数将将依赖关系树写入指定的路径,而不是写入控制台。

  • outputType

    类型:String

    描述:如果指定,此参数将使用指定格式写入依赖关系树。当前支持的格式有:(text默认)dotgraphmltgf。这些附加格式可以绘制到图像文件中。

    默认值text

  • verbose

    类型:boolean

    描述:查看冲突和重复的具体情况

    默认值false

三、一般常用的命令

  • 查看项目依赖:

    mvn dependency:analyze

  • 查看项目直接和传递依赖:

    mvn dependency:tree

  • 冲突和重复的具体情况,用verbose参数

    mvn dependency:tree -Dverbose

  • 查看依赖树中包含某个groupId和artifactId的依赖链(注意-Dincludes后面是等于号)

    mvn dependency:tree -Dincludes=com.alibaba:fastjson

  • 查看依赖树中包含某个artifactId的依赖链(artifactId前面加上冒号)

    mvn dependency:tree -Dincludes=:fastjson

  • 查看依赖树中包含某个groupId的依赖链(-Dincludes后面跟上groupId)

    mvn dependency:tree -Dincludes=com.alibaba

  • 查看maven构建时有效的pom:

    mvn help:effective-pom

  • 重定向至文本文件

    mvn dependency:tree -D outputFile=dependency_tree.txt

    mvn dependency:tree -D outputFile=dependency_tree.txt -D outputType=dot

  • 查看冲突和重复的具体情况,用verbose参数

    mvn dependency:tree -Dverbose

“+-”符号表示该包后面还有其它依赖包,“-”表示该包后面不再依赖其它jar包。每个层级结尾处用 - 标记

以下面springboot项目为例,运行上述命令显示的结果:

https://gitee.com/tiankong0310/springboot-weixin-alipay?_from=gitee_search

执行mvn dependency:tree后的依赖(仅展示部分):

[INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @ springboot-weixin-alipay ---
[INFO] com.fengdu:springboot-weixin-alipay:war:0.0.1-SNAPSHOT
[INFO] +- com.github.pagehelper:pagehelper-spring-boot-starter:jar:1.2.5:compile
[INFO] | +- org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:1.3.2:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-jdbc:jar:2.0.3.RELEASE:compile
[INFO] | | | +- com.zaxxer:HikariCP:jar:2.7.9:compile
[INFO] | | | \- org.springframework:spring-jdbc:jar:5.0.7.RELEASE:compile
[INFO] | | | \- org.springframework:spring-tx:jar:5.0.7.RELEASE:compile
[INFO] | | +- org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:jar:1.3.2:compile
[INFO] | | +- org.mybatis:mybatis:jar:3.4.6:compile
[INFO] | | \- org.mybatis:mybatis-spring:jar:1.3.2:compile
[INFO] | +- com.github.pagehelper:pagehelper-spring-boot-autoconfigure:jar:1.2.5:compile
[INFO] | \- com.github.pagehelper:pagehelper:jar:5.1.4:compile
[INFO] | \- com.github.jsqlparser:jsqlparser:jar:1.0:compile
[INFO] +- com.alibaba:druid-spring-boot-starter:jar:1.1.9:compile
[INFO] | +- com.alibaba:druid:jar:1.1.9:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] | \- org.springframework.boot:spring-boot-autoconfigure:jar:2.0.3.RELEASE:compile

执行mvn dependency:tree -Dincludes=com.alibaba:后的依赖树:

[INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @ springboot-weixin-alipay ---
[INFO] com.fengdu:springboot-weixin-alipay:war:0.0.1-SNAPSHOT
[INFO] \- com.alibaba:druid-spring-boot-starter:jar:1.1.9:compile
[INFO] \- com.alibaba:druid:jar:1.1.9:compile

执行mvn dependency:tree -Dverbose后的依赖树,可以看到依赖是否存在版本冲突。由于示例代码没有冲突,所以截取了其他项目扫描的结果:

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ esshop ---
[INFO] esshop:esshop:war:0.0.1-SNAPSHOT
[INFO] +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] +- org.hibernate:hibernate:jar:3.2.2.ga:compile
[INFO] | \- (commons-collections:commons-collections:jar:2.1.1:compile - omitted for conflict with 3.2.1)
[INFO] +- org.hibernate:hibernate-annotations:jar:3.4.0.GA:compile
[INFO] | \- org.hibernate:hibernate-core:jar:3.3.0.SP1:compile
[INFO] | \- (commons-collections:commons-collections:jar:3.1:compile - omitted for conflict with 3.2.1)
[INFO] +- org.springframework.security:spring-security-core:jar:2.0.4:compile
[INFO] | \- (commons-collections:commons-collections:jar:3.2:compile - omitted for conflict with 3.2.1)
[INFO] +- org.apache.velocity:velocity:jar:1.5:compile
[INFO] | \- (commons-collections:commons-collections:jar:3.1:compile - omitted for conflict with 3.2.1)
[INFO] \- net.sf.json-lib:json-lib:jar:jdk15:2.4:compile
[INFO] \- (commons-collections:commons-collections:jar:3.2.1:compile - omitted for duplicate)

Maven 指令 mvn:dependency:tree 查看依赖的更多相关文章

  1. 7) mvn dependency:tree

    http://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html mvn dependency:tree 查看 <de ...

  2. 查看maven项目的依赖关系 mvn dependency:tree

    maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表,dependency:tree能进一步的描绘项目依赖树,de ...

  3. maven 查看依赖树结构命令mvn dependency:tree

    使用maven 管理项目的依赖,可以使用如下命令查看依赖树结构: mvn dependency:tree 如下图是使用idea的终端执行命令的局部图: 也可以使用如下命令将输出定向到某个文件,这样就可 ...

  4. Maven类包冲突终极三大解决技巧 mvn dependency:tree

    Maven对于新手来说是<步步惊心>,因为它包罗万象,博大精深,因为当你初来乍到时,你就像一个进入森林的陌生访客一样迷茫. Maven对于老手来说是<真爱配方>,因为它无所不能 ...

  5. mvn dependency:tree的用法

    一.参考文档 https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-t ...

  6. mvn dependency:tree

    jar依赖冲突解决实践 前言 随着功能的增多,各种中间件的引入.应用以来的各种jar的规模极具膨胀,出现jar冲突和Class冲突的问题层出不穷,让人不胜其扰.本文针对冲突,提供一个排查和定位问题的最 ...

  7. Maven指令

    mvn clean compile  //clean告诉Maven清理输出目录target/,compile告诉Maven编译项目主代码. mvn clean test  //清理输出目录target ...

  8. Maven 基础(二) | 解决依赖冲突的正确姿势

    一.依赖原则 假设,在 JavaMavenService2 模块中,log4j 的版本是 1.2.7,在 JavaMavenService1 模块中,它虽然继承于 JavaMavenService2 ...

  9. 如何查看Maven项目中的jar包依赖树情况

    对于开发人员,我想大家对于Maven应该不会陌生吧,如何在一个Maven项目中对这个项目中所引用的第三方jar包有个直观的了解呢? 其实实现很简单,只需要借助于Maven的一条命令,如下所示: mvn ...

  10. Maven查看依赖树

    1.命令行,但是只能查看一层的引用 mvn dependency:tree 如图所示: 2.使用Eclipse的Dependency Hierarchy查看,这个就比较深层次的查看,如图所示: 3.使 ...

随机推荐

  1. maven BUILD FAILURE

    maven BUILD FAILURE 使用命令进行导包失败,错误为BUILD FAILURE 然后使用mvn help:system看一下是不是maven有问提 然后出现了新的错误No plugin ...

  2. 力扣167(java&python)-两数之和 II - 输入有序数组(中等)

    题目: 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列  ,请你从数组中找出满足相加之和等于目标数 target 的两个数.如果设这两个数分别是 numbers[in ...

  3. 力扣38(java)-外观数列(中等)

    题目: 给定一个正整数 n ,输出外观数列的第 n 项. 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述. 你可以将其视作是由递归公式定义的数字字符串序列: count ...

  4. jemeter中json提取器

    1.A接口中的单个参数提取,之后用于其他接口 a. 在需要提取字段的接口上右击添加----后置处理器-----json extractor b. 填写json提取器的数据 1.名称:随便填写,方便自己 ...

  5. FE宝典

    前端学科面试宝典 蔡威 [电子邮件地址] HTML5.CSS3..................................................................... ...

  6. Scala中集合中的View用法

    设想以下这个计算 def eval(i: Int): Option[Int] = { println(s"invoke with $i") if (i % 2 == 0) { No ...

  7. ES 2024 新特性

    ECMAScript 2024 新特性 ECMAScript 2024, the 15th edition, added facilities for resizing and transferrin ...

  8. 常回家看看之off_by_one

    off_by_one这个漏洞比较特殊,它不像上一期的堆溢出,可以溢出很多字节,它只能溢出一个字节,在栈里面也可以通过这个漏洞修改返回地址什么的,在堆里面我们主要利用它来修改堆块的大小,形成fake_c ...

  9. Python读Excel数据自动化填入日常办公的网页表单

      前言 本篇内容,让你完全掌握Python是如何自动化办公的~ 一.环境准备 1.1  Python 3.7.0 1.2  Pycharm  (Python 开发工具) 1.3 Selenium  ...

  10. OpenOCD + DAP-LINK调试ESP32的失败经历

    目的 手里有调试STM32的DAP-LINK,想试试通过JTAG调试ESP32 OpenOCD支持CMSIS-DAP DAP-LINK支持的芯片,我手上这款描述如下,应该JTAG协议的都支持 平台 w ...