为什么google-api-client依赖guava-jdk5?
Why does google-api-client depend on guava-jdk5?
我的 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客户端对JDK5的Guava有依赖?有两个版本不是更有意义吗,比如:
google-api-client
这取决于常规 Guava,最好是版本 23.3(截至当前版本)
google-api-client-jdk5
依赖 Guava for JDK5
参见https://github.com/google/google-api-java-client/issues/903。以下解决方法应该是可行的:
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava-jdk5</artifactId>
</exclusion>
</exclusions>
</dependency>
我的 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客户端对JDK5的Guava有依赖?有两个版本不是更有意义吗,比如:
google-api-client
这取决于常规 Guava,最好是版本 23.3(截至当前版本)google-api-client-jdk5
依赖 Guava for JDK5
参见https://github.com/google/google-api-java-client/issues/903。以下解决方法应该是可行的:
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava-jdk5</artifactId>
</exclusion>
</exclusions>
</dependency>