一、指令指导文档:

官方文档: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. [FAQ] Python的虚拟环境和包管理

      1. 创建虚拟环境 $ python -m venv test-env 2. 激活虚拟环境 windows:tutorial-env\Scripts\activate (powershell: . ...

  2. WPF 推荐一个剪贴板内容查看工具

    本文来安利大家一个好用的 Windows 剪贴板的内容查看工具 这是在 GitHub 上完全免费开源的应用,由 walterlv 开发的应用,详细请看 https://github.com/walte ...

  3. VGA色块显示#VGA显示数字

    VGA驱动色块显示 了解了VGA的显示原理和ADV7123控制后,再去实现色块显示就容易了. 像素坐标 跟显示色条不同,要在屏幕上不同的地方显示色块,需要用像素坐标来定位色块.其实,就是分别用行扫描的 ...

  4. rubymineIDE配置启动

    debug启动 debug启动 安装插件 报错: 网络问题 下载 ruby-debug-ide-2.3.1 解压到 /home/haima/.rvm/gems/ruby-2.3.8/gems/

  5. Could not find mimemagic-0.3.2 in any of the sources

    rails s报如下错误 Could not find mimemagic-0.3.2 in any of the sources Run `bundle install` to install mi ...

  6. Fiddler在抓取https数据包时如何解决Tunnel to 443的问题?

    学习视频: https://www.bilibili.com/video/BV1zg4y1i7k3?p=2 谷歌浏览器导入证书 1.导出证书到桌面 2.双击安装证书 3.浏览器-->设置--&g ...

  7. 解决:Failed to get D-Bus connection: Operation not permitted

    docker中安装完httpd服务后,使用命令systemctl start httpd.service,发现报错,错误信息:Failed to get D-Bus connection: Opera ...

  8. ip地址、子网掩码、网关、dns简介

    IP地址IPADDR: IP地址是唯一的标识,是一段网络编码(二进制),由32位组成. IP 是 Internet Protocol(网际互连协议)的缩写,是 TCP/IP 体系中的网络层协议. IP ...

  9. 小程序 image 高度自适应及裁剪问题

    在做微信小程序的商品详情页,商品的详情是图片集合,渲染完成后发现图片加载的很不自然,后来我把样式设置宽度 100%,并对 image 组件添加属性 mode="widthFix"解 ...

  10. C 语言编程 — 宏定义与预处理器指令

    目录 文章目录 目录 前文列表 宏 预处理器 预处理器指令 预处理器指令示例 预定义宏 预处理器指令运算符 宏延续运算符 字符串常量化运算符 标记(Token)粘贴运算符 defined() 运算符 ...