【发布时间】:2018-04-17 23:35:40
【问题描述】:
我的 Maven 依赖项中依赖 Guava:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.3-jre</version>
</dependency>
我的依赖项中也有对 Google API 客户端的依赖项:
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.23.0</version>
</dependency>
但由于某些奇怪的原因,它具有以下依赖性:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-jdk5</artifactId>
</dependency>
现在我的 WAR 以两个 Guava JAR 结束:
- guava-23.3-jre.jar
- guava-jdk5-17.0.jar
这带来了几个问题,因为运行时更喜欢guava-jdk5-17.0.jar,而代码是使用guava-23.3-jre.jar 编译的。
为什么 Google API Client 依赖于 JDK5 的 Guava?有两个版本不是更有意义吗,比如:
-
google-api-client依赖于常规 Guava,最好是 23.3 版(截至当前) -
google-api-client-jdk5依赖于 JDK5 的 Guava
【问题讨论】:
-
欢迎来到依赖地狱 :)
-
它和颠倒一样可怕。
标签: java maven google-api google-api-client google-api-java-client