1、显示依赖关系
mvn dependency:tree > tree.txt
显示所有依赖关系,并输出到 text.txt
mvn dependency:tree -Dverbose > tree.txt
显示指定包的依赖关系
mvn dependency:tree -Dverbose -Dincludes=net.masterthought:maven-cucumber-reporting:jar:3.13.1
mvn dependency:tree -Dverbose -Dincludes=org.springframework:spring-context-support
2、maven 包冲突
maven 采用 "最近获胜策略(nearest wins strategy)" 的方式处理依赖冲突,即如果一个项目最终依赖于相同 artifact 的多个版本,在依赖树中离项目最近的那个版本将被使用。
解决方法一:
当冲突时把需要依赖的包重新定义在最外层依赖关系中,即在 pom.xml 文件中直接加上依赖。
解决方法二:
在 resolve-web 项目对 project-A 的 dependency 声明中,将 project-common 排除掉。在 resolve-web 的 pom.xml 文件中修改对 project-A 的 dependency 声明:
- <dependency>
- <groupId>project-A</groupId>
- <artifactId>project-A</artifactId>
- <version>1.0</version>
- <exclusions>
- <exclusion>
- <groupId>project-common</groupId>
- <artifactId>project-commmon</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
来源: http://www.bubuko.com/infodetail-2453768.html