我的java代码依赖于2个库A和B
A依赖于GoogleCollections B有依赖GoogleGuava r10;
Now when i build my code everything works fine.But when i run i get following exception
java.lang.NoSuchMethodError: com.google.common.collect.ImmutableList.copyOf([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
at com.abc.Pqr$Builder.withXYZ(ExponentialBackoffRetryPolicy.java:329)
我该如何解决这个问题?
答案 0 :(得分:0)
如果您的幸运....仅包含您所依赖的包含ImmutableList的最新版本的GoogleCollections。
答案 1 :(得分:0)
Google Collections已被弃用并转移到Guava中。从A中排除它。使用Maven,您可以使用项目的 POM中依赖项标记下的排除标记来执行此操作:
<dependency>
<groupId>org.project</groupId>
<artifactId>library-a</artifactId>
<version>[version]</version>
<exclusions>
<exclusion>
<!-- whatever the correct values are -->
<artifactId>google-collections</artifactId>
<groupId>google-collections</groupId>
</exclusion>
</exclusions>
</dependency>