通过mvn dependency:tree可以查看一个项目的依赖树,有几个细节的知识点:
依赖树中的依赖坐标有2种形式:
1.1.groupId:artifactId:type:version:scope形式,例如:com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.12.2:compile
1.2.groupId:artifactId:type:classifier:version:scope形式,例如:org.codehaus.groovy:groovy:jar:indy:2.4.8:compile,其中的indy为该依赖的classifier。低版本的maven dependency插件,不能从本地获取POM依赖,总是试图从远程获取依赖,即使本地有各个模块,仍然报错,可以使用高版本的maven dependency插件,有2种解决方案:
2.1. 将3.0.1以上的maven dependency插件加入项目POM的pluginManagement元素。
2.2. 在执行mvn命令时显式指定dependency插件版本,如:mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.1:tree --log-file xxx.txt