【发布时间】:2020-10-17 11:56:46
【问题描述】:
我的项目 (A) 依赖于另一个专有项目 (B)。 B 将spring-jms 列为这样的依赖项(spring.version 是[4.3.9.RELEASE, 4.3.18.RELEASE]):
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>${spring.version}</version>
</dependency>
A -> B -> spring-jms
但是,当我在 A 中运行 mvn clean dependency:tree -Dverbose=true 时,spring-jms 以 5.1.14.RELEASE 的形式返回,这超出了 B 中指定的范围。在树中,spring-jms 被列出了两次,并且两个条目都有5.1.14.发布。
我没有在 A 中列出 spring-jms。我知道我可以将它添加到 A 中的 dependencyManagement 来解决问题,但我仍然想知道为什么它会解决该版本。
下面是显示spring-jms 的树的一部分。这些是它唯一列出的地方。
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ project A ---
[INFO] project A
[INFO] +- project B
[INFO] | +- (org.springframework:spring-context:jar:5.1.14.RELEASE:compile - omitted for duplicate)
[INFO] | +- org.springframework:spring-jms:jar:5.1.14.RELEASE:compile
[INFO] | | \- (org.springframework:spring-messaging:jar:5.1.14.RELEASE:compile - version managed from 5.1.11.RELEASE; omitted for duplicate)
[INFO] | +- org.springframework:spring-aop:jar:5.1.14.RELEASE:compile
[INFO] | +- org.springframework:spring-oxm:jar:5.1.14.RELEASE:compile
[INFO] | +- org.springframework:spring-expression:jar:5.1.14.RELEASE:compile
[INFO] | +- (org.apache.commons:commons-collections4:jar:4.3:compile - omitted for duplicate)
[INFO] | +- org.bouncycastle:bcprov-jdk15on:jar:1.56:compile
[INFO] | +- org.springframework.integration:spring-integration-jms:jar:5.1.9.RELEASE:compile
[INFO] | | \- (org.springframework:spring-jms:jar:5.1.14.RELEASE:compile - version managed from 5.1.11.RELEASE; omitted for duplicate)
【问题讨论】:
-
Maven 的 dependency tree 插件可能会有所帮助。
-
请看我的编辑。依赖树不显示任何其他版本。
-
您是否使用了
verbose选项?如果没有,请尝试。
标签: java spring maven spring-jms