如何查看传递依赖项版本是否已被覆盖

时间:2018-09-21 08:45:32

标签: maven

我的pom在composer req admin节中引用了一个父pom,该父pom具有很多声明的依赖项。这将覆盖传递依赖项的版本,并导致运行时问题。

为解决这个问题,我现在将传递性依赖项声明为显式依赖项,但是花了我一段时间才弄清楚问题所在。如果dependenyManagement会告诉我该版本已被覆盖,但我没有注意到,那会早得多。

您能告诉我如何快速查看,我的依赖项版本来自何处以及如何查看可传递依赖项是否受父pom影响吗?

2 个答案:

答案 0 :(得分:1)

mvn dependency:tree -Dverbose=true

应该做到这一点。您可以使用Alternativ:

mvn dependency:tree -X

使用Maven 3.3.9和3.5.2(两者均为maven-dependency-plugin的2.10版本:

[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) @ xxx ---
[WARNING] Using Maven 2 dependency tree to get verbose output, which may be inconsistent with actual Maven 3 resolution
[INFO] xxx:jar:1.0.0-SNAPSHOT
[INFO] +- com.sun.mail:javax.mail:jar:1.5.6:runtime
[INFO] |  \- (javax.activation:activation:jar:1.1:runtime - omitted for conflict with 1.1.1)
[INFO] +- org.eclipse.jgit:org.eclipse.jgit.junit:jar:4.7.0.201704051617-r:test
[INFO] |  \- (org.eclipse.jgit:org.eclipse.jgit:jar:3.5.3.201412180710-r:test - version managed from 4.7.0.201704051617-r; omitted for conflict with 4.7.0.201704051617-r)
[INFO] +- org.eclipse.jgit:org.eclipse.jgit.junit.http:jar:4.7.0.201704051617-r:test
[INFO] |  +- (org.eclipse.jgit:org.eclipse.jgit:jar:3.5.3.201412180710-r:test - version managed from 4.7.0.201704051617-r; omitted for conflict with 4.7.0.201704051617-r)
[INFO] |  +- org.eclipse.jgit:org.eclipse.jgit.http.server:jar:4.7.0.201704051617-r:test
[INFO] |  |  \- (org.eclipse.jgit:org.eclipse.jgit:jar:3.5.3.201412180710-r:test - version managed from 4.7.0.201704051617-r; omitted for conflict with 4.7.0.201704051617-r)
[INFO] |  +- (org.eclipse.jgit:org.eclipse.jgit.junit:jar:4.7.0.201704051617-r:test - omitted for duplicate)
[INFO] |  \- org.eclipse.jetty:jetty-servlet:jar:9.4.7.v20170914:test (version managed from 9.3.17.v20170317)
[INFO] |     \- (org.eclipse.jetty:jetty-security:jar:9.4.7.v20170914:test - omitted for conflict with 9.3.19.v20170502)
[INFO] +- org.eclipse.jetty:jetty-security:jar:9.3.19.v20170502:test
[INFO] |  \- org.eclipse.jetty:jetty-server:jar:9.4.7.v20170914:test (version managed from 9.3.19.v20170502)
[INFO] |     +- javax.servlet:javax.servlet-api:jar:3.1.0:test
[INFO] |     +- org.eclipse.jetty:jetty-http:jar:9.4.7.v20170914:test
[INFO] |     |  +- org.eclipse.jetty:jetty-util:jar:9.4.7.v20170914:test
[INFO] |     |  \- (org.eclipse.jetty:jetty-io:jar:9.4.7.v20170914:test - omitted for duplicate)
[INFO] |     \- org.eclipse.jetty:jetty-io:jar:9.4.7.v20170914:test
[INFO] |        \- (org.eclipse.jetty:jetty-util:jar:9.4.7.v20170914:test - omitted for duplicate)
[INFO] \- org.springframework.boot:spring-boot-starter-data-ldap:jar:1.5.8.RELEASE:compile
[INFO]       \- (org.slf4j:jcl-over-slf4j:jar:1.7.25:compile - scope updated from runtime; omitted for duplicate)

如果您将Eclipse与M2插件一起使用,则POM上的“ Dependency Hierarchy”选项卡也将显示省略的版本。

答案 1 :(得分:0)

相关问题