深入解析Maven依赖树:冲突解决与优化策略指南
462 字大约 2 分钟2024年12月4日
dependency:tree
命令用来查看项目中的所有依赖项,包括直接依赖和传递依赖。
Maven 依赖树命令
mvn dependency:tree
这个命令会生成一个包含所有直接和传递依赖的依赖树,输出到终端。
假设你的项目 pom.xml
文件中有以下依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
运行 mvn dependency:tree
后,你可能会看到类似以下的输出:
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ my-project ---
[INFO] my-project:jar:1.0-SNAPSHOT
[INFO] +- org.springframework:spring-core:jar:5.2.9.RELEASE:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.2.9.RELEASE:compile
[INFO] \- junit:junit:jar:4.12:test
在这个示例中,spring-core
依赖于 spring-jcl
,而 my-project
也直接依赖于 junit
。
过滤依赖树
如果你只想查看特定的依赖项,可以使用 -Dincludes
和 -Dexcludes
参数来过滤依赖树。例如,如果你只想查看 spring
相关的依赖项,可以运行以下命令:
mvn dependency:tree -Dincludes=org.springframework