在Java开发领域,Apache Maven作为一款强大的构建和项目管理工具,广泛应用于自动化构建、依赖管理和项目报告生成等场景。当处理大型项目时,管理依赖关系变得尤为关键,因为不透明或冗余的依赖可能导致各种问题,从构建失败到运行时冲突。为了帮助开发者清晰地洞察项目的依赖结构,Maven提供了一个强大的命令——dependency:tree。...
执行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...
2.1 查看某一个包的依赖树 mvn dependency:tree -Dverbose -Dincludes=commons-collections 1. 3. mvn dependency:analyze --- 分析依赖并优化 mvn dependency:analyze -Dverbose 1. mvn dependency:analyze命令可以分析当前项目的依赖,我们可以根据这个结果删除多余的依赖。 其执行的结果如下: [INFO...
mvn dependency:list:查看当前项目所有依赖。 mvn dependency:tree:以树的形式显示当前项目的所有依赖,相比mvn dependency:list 列表显示,能很清楚的看到某个依赖是通过哪条依赖路径引入的。 mvn dependency:analyze:分析项目的依赖关系,并确定哪些依赖是:使用和声明、使用和未声明、未使用和声明。 依赖的传递性 如有依...
1.1 mvn dependency:tree>temp/tree.txt 用mvn dependency:tree>temp/tree.txt,直接输出到当前项目下,然后在idea中打开,搜索要找的jar包名字即可. 这里的 “+-” 和”\-“并没有什么意义,只是为了让分级看起来更直观。 如图,可看到jline是在zookeeper中被间接引用的 ...
你也可以直接在命令行中运行mvn dependency:tree来查看依赖树。 等待一会,IDEA将显示项目的依赖树。这个树形结构展示了项目的所有依赖项,以及它们之间的层级关系。解决jar包重复和冲突查看依赖树后,你可能会发现存在重复或冲突的jar包。下面是一些解决这些问题的建议:...
maven 依赖jar包时版本冲突的解决: mvn dependency:tree -Dverbose 四种解决方式: 1、第一声明优先原则: 在pom.xml配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效。 所以,先声明自己要用的版本的jar包即可。 2、路径近者优先: 直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,那么可...
mvn dependency:tree -Dverbose “+-”符号表示该包后面还有其它依赖包,“-”表示该包后面不再依赖其它jar包。每个层级结尾处用 - 标记 以下面springboot项目为例,运行上述命令显示的结果: .. 执行mvn dependency:tree后的依赖(仅展示部分): [INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @...
Maven中依赖冲突与循环依赖是开发过程中比较令人头疼的问题。 依赖冲突 首先介绍下Maven中依赖管理的策略。 依赖传递:如果A依赖B,B依赖C,那么引入A,意味着B和C都会被引入。 最近依赖策略:如果一个项目依赖相同的groupId、artifactId的多个版本,那么在依赖树(mvn dependency:tree)中离项目最近的那个版本将会被使用。
Maven指令mvn:dependency:tree查看依赖 Maven指令mvn:dependency:tree查看依赖 ⼀、指令⽂档:⼆、查看jar包的间接引⼊依赖 1、mvn dependency:tree>result/tree.txt,⽂件搜索jar包名字--->>>会查看到⼆级层级的依赖关系(并不能看到所有的依赖关系)其中,“+-”符号表⽰该包后⾯还有其它依赖包...