【发布时间】:2015-04-03 11:29:40
【问题描述】:
尽管我有一个指定版本 18 的
快速总结:
-
gwizard-example取决于gwizard-config -
gwizard-config有一个父 pom,gwizard-parent -
gwizard-parent有指定 guava 版本 18
谢天谢地,这是一个开源项目,因此您可以直接查看 poms:gwizard-parent、gwizard-config、gwizard-example。但是,这是gwizard-parent 中的重要部分:
<properties>
<guava.version>18.0</guava.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
...以及在 gwizard-example 中声明的简洁依赖:
<properties>
<gwizard.version>0.5</gwizard.version>
</properties>
<dependencies>
<dependency>
<groupId>org.gwizard</groupId>
<artifactId>gwizard-config</artifactId>
<version>${gwizard.version}</version>
</dependency>
</dependencies>
gwizard-config 的依赖树正确显示 guava 18:
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ gwizard-config ---
[INFO] org.gwizard:gwizard-config:jar:0.5
[INFO] +- com.google.inject:guice:jar:4.0-beta5:compile
[INFO] | \- com.google.guava:guava:jar:18.0:compile
但是,gwizard-example 的依赖关系树显示 guava 16(这会导致问题):
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ gwizard-example ---
[INFO] org.gwizard:gwizard-example:jar:1.0-SNAPSHOT
[INFO] +- org.gwizard:gwizard-config:jar:0.5:compile
[INFO] | +- com.google.inject:guice:jar:4.0-beta5:compile
[INFO] | | \- com.google.guava:guava:jar:16.0.1:compile
这是使用 Maven v3.2.5。我很困惑。帮忙?
可能相关:dependencyManagement in parent ignored
UPDATE:github上链接的pom正在变化;在gwizard-example 中添加对gwizard-services 的依赖项(直接声明一个番石榴dep)“修复”了这个问题。这里仍然存在某种不良的潜在行为。
更新:创建this JIRA issue
【问题讨论】: