番石榴依赖性冲突

时间:2018-01-16 20:57:17

标签: google-classroom

我们正在开发与Classroom集成的应用程序。

我们的一个应用程序的依赖项试图调用一个新的Guava方法,该方法在Classroom引入的guava-jdk5类中不存在:

com.google.common.collect.Sets.SetView

方法存在于Guava 22.0中,由其他依赖项引入。因此,我们遇到了这个例外:

NoSuchMethodError: com.google.common.collect.Sets$SetView.iterator()Lcom/google/common/collect/UnmodifiableIterator;

我们的应用程序依赖项之一使用此版本的Guava:

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>22.0</version>
</dependency>

Classroom API的当前版本:

<!-- https://mvnrepository.com/artifact/com.google.apis/google-api-services-classroom -->
<dependency>
    <groupId>com.google.apis</groupId>
    <artifactId>google-api-services-classroom</artifactId>
    <version>v1-rev103-1.23.0</version>
</dependency>

取决于:

<!-- https://mvnrepository.com/artifact/com.google.api-client/google-api-client -->
<dependency>
    <groupId>com.google.api-client</groupId>
    <artifactId>google-api-client</artifactId>
    <version>1.23.0</version>
</dependency>

反过来又取决于:

<!-- https://mvnrepository.com/artifact/com.google.guava/guava-jdk5 -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava-jdk5</artifactId>
    <version>17.0</version>
</dependency>

2014年4月22日。

基本上,我们在不同名称的jar中存在类冲突。

我们的问题:

  1. 从课堂的角度来看,有没有理由我们不能排除guava-jdk5,赞成quava 22.0?
  2. 教室何时可以将其Guava依赖关系更新为更新版本?
  3. 谢谢, 助理小组

0 个答案:

没有答案