Maven 指令 mvn:dependency:tree 查看依赖
一、指令指导文档:
官方文档: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
描述:是否将输出内容追加到文件或覆盖它。
默认值:falseoutputEncoding
类型:String
描述:无
默认值:${project.reporting.outputEncoding}outputFile
类型:File
描述:如果指定,此参数将将依赖关系树写入指定的路径,而不是写入控制台。outputType
类型:String
描述:如果指定,此参数将使用指定格式写入依赖关系树。当前支持的格式有:(text默认)dot、graphml和tgf。这些附加格式可以绘制到图像文件中。
默认值: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 查看依赖的更多相关文章
- 7) mvn dependency:tree
http://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html mvn dependency:tree 查看 <de ...
- 查看maven项目的依赖关系 mvn dependency:tree
maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表,dependency:tree能进一步的描绘项目依赖树,de ...
- maven 查看依赖树结构命令mvn dependency:tree
使用maven 管理项目的依赖,可以使用如下命令查看依赖树结构: mvn dependency:tree 如下图是使用idea的终端执行命令的局部图: 也可以使用如下命令将输出定向到某个文件,这样就可 ...
- Maven类包冲突终极三大解决技巧 mvn dependency:tree
Maven对于新手来说是<步步惊心>,因为它包罗万象,博大精深,因为当你初来乍到时,你就像一个进入森林的陌生访客一样迷茫. Maven对于老手来说是<真爱配方>,因为它无所不能 ...
- mvn dependency:tree的用法
一.参考文档 https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-t ...
- mvn dependency:tree
jar依赖冲突解决实践 前言 随着功能的增多,各种中间件的引入.应用以来的各种jar的规模极具膨胀,出现jar冲突和Class冲突的问题层出不穷,让人不胜其扰.本文针对冲突,提供一个排查和定位问题的最 ...
- Maven指令
mvn clean compile //clean告诉Maven清理输出目录target/,compile告诉Maven编译项目主代码. mvn clean test //清理输出目录target ...
- Maven 基础(二) | 解决依赖冲突的正确姿势
一.依赖原则 假设,在 JavaMavenService2 模块中,log4j 的版本是 1.2.7,在 JavaMavenService1 模块中,它虽然继承于 JavaMavenService2 ...
- 如何查看Maven项目中的jar包依赖树情况
对于开发人员,我想大家对于Maven应该不会陌生吧,如何在一个Maven项目中对这个项目中所引用的第三方jar包有个直观的了解呢? 其实实现很简单,只需要借助于Maven的一条命令,如下所示: mvn ...
- Maven查看依赖树
1.命令行,但是只能查看一层的引用 mvn dependency:tree 如图所示: 2.使用Eclipse的Dependency Hierarchy查看,这个就比较深层次的查看,如图所示: 3.使 ...
随机推荐
- 探索Kimi智能助手:如何用超长文本解锁高效信息处理新境界
目前,Kimi备受瞩目,不仅在社交平台上引起了广泛关注,而且在解决我们的实际问题方面也显示出了巨大潜力.其支持超长文本的特性使得我们能够更加灵活地配置信息,避免了频繁与向量数据库进行交互以及编写提示词 ...
- nginx请求头相关漏洞修复(http host&X-XSS-Protection)
nginx请求头相关漏洞修复(http host&X-XSS-Protection) 参考链接:Nginx常见漏洞处理 - 码农教程 (manongjc.com) Web应用漏洞-NGINX各 ...
- 行业 SaaS 微服务稳定性保障实战
简介: 对于Tob企业而言,稳定性即是生命线.那么,面对商户数目暴增, C 端场景业务不断扩展呢,F6汽车科技又是如何搭建可观测体系呢?一线负责人深度解读实际演进过程! 很多研发人员在日常工作中经常回 ...
- 一遇到复杂分析查询就卡顿?MySQL分析实例了解一下
随着企业数据爆发式增长,MySQL分析查询卡顿问题越来越多,用户时效性不能保证,精细化运营诉求不能满足.如何能无缝对接业务库,实现毫秒级针对万亿级数据进行即时的多维分析透视和业务探索,MySQL分析实 ...
- 阿里云架构师梁旭:MES on 云盒,助力客户快速构建数字工厂
简介: 四大优势:一站式交付.业务低延时.数据本地驻留.多工厂统一运维 2022年5月18日,在"云上数字工厂与中小企业数字化转型创新论坛"暨"鼎捷MES & 阿 ...
- 基于MaxCompute+PAI的用户增长方案实践
简介: 如何通过PAI+MaxCompute完成用户增长模型AARRR全链路,包含拉新.促活.留存.创收.分享. 本文作者 李博 阿里云智能 高级产品专家 在过去一年阿里云PAI机器学习团队做了很多 ...
- dotnet C# 使用 Vortice 支持 Direct2D1 离屏渲染
本文告诉大家如何使用 Vortice 进行 D2D 的离屏渲染功能,本文将在一个纯控制台无窗口的应用下,使用 Direct2D1 进行离屏绘制,将绘制结果保存为本地图片文件 本文属于使用 Vortic ...
- LabView十六进制与字符串之间的转换
一.准备工具 Labview开发软件 字符串与十六进制的转换工具(做测试使用) 在线转换工具:IEE754浮点数16进制转换 本地工具如下图所示: 二.LabView字符串转换为十六进制 在数值中选择 ...
- HZ2023 远足游记
你说得对,但是我放假之前写的 P4689 代码没了 所以来摆 4.6(远足) 上午 走路,刚开始感觉没啥 走到园博园发现没预料中那么顺利 但是还感觉没啥 因为也没预料到 \(N·m\) 学校会让我们原 ...
- 经验之谈:我为什么选择了这样一个激进的缓存大Key治理方案
一.引言 本文将结合我的一次Redis大Key的治理经验,来浅谈一下缓存大Key的治理方案选择.文中主要包括缓存大Key基础知识.大Key治理方案选择.大Key治理案例等,适合有一定开发经验的开发者阅 ...