我想知道以下jar的所有传递依赖关系:
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xmlbeans-maven-plugin</artifactId>
<version>2.3.3</version>
</dependency>将一个经典命令移到项目定义该依赖项的pom.xml中,并输入:
mvn依赖关系:树
会显示:
+- org.codehaus.mojo:xmlbeans-maven-plugin:jar:2.3.3:compile
| +- xml-resolver:xml-resolver:jar:1.2:compile
| +- org.apache.maven:maven-model:jar:2.0.6:compile
| +- org.apache.maven:maven-artifact:jar:2.0.6:compile
| +- org.apache.maven:maven-project:jar:2.0.6:compile
| | +- org.apache.maven:maven-settings:jar:2.0.6:compile
| | +- org.apache.maven:maven-profile:jar:2.0.6:compile
| | +- org.apache.maven:maven-artifact-manager:jar:2.0.6:compile
| | | +- org.apache.maven:maven-repository-metadata:jar:2.0.6:compile
| | | \- org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2:compile
| | +- org.apache.maven:maven-plugin-registry:jar:2.0.6:compile
| | \- org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile
| | +- junit:junit:jar:3.8.1:compile
| | \- classworlds:classworlds:jar:1.1-alpha-2:compile
| +- org.apache.maven:maven-plugin-api:jar:2.0.6:compile
| +- org.apache.xmlbeans:xmlbeans:jar:2.4.0:compile
| | \- stax:stax-api:jar:1.0.1:compile
| \- org.codehaus.plexus:plexus-utils:jar:1.5.6:compile我没看到她的父母:
<groupId>org.codehaus.mojo</groupId>
<artifactId>mojo-parent</artifactId>
<version>21</version>
<packaging>pom</packaging>乍一看,mvn命令似乎可以显示非pom类型的依赖项。
是否有一种方法可以准确地显示保存一个jar所需的每个文件?
谢谢!
发布于 2016-07-14 19:39:32
实际上,很难显示“保持一个jar活着”所需的文件。您的项目可以有一些隐式依赖项。
您可以运行mvn dependency:analyze,它应该显示未使用的依赖项。但是你已经意识到你可以自由地移除它们中的哪一个。http://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html
我也可以推荐,如果您不想使用传递依赖的任何惊喜-使用maven执行器。可以禁止所有未声明的传递依赖项。http://maven.apache.org/enforcer/enforcer-rules/banTransitiveDependencies.html
https://stackoverflow.com/questions/38382742
复制相似问题