为什么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-jdk5-17.0.jar 而代码是用 guava-23.3-jre.jar.

编译的

为什么Google API客户端对JDK5的Guava有依赖?有两个版本不是更有意义吗,比如:

参见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>