2

我的 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)

我怎么解决这个问题?

4

2 回答 2

0

如果你幸运的话.. 仅包含包含您所依赖的 ImmutableList 的 GoogleCollections 的最新版本。

于 2012-11-02T07:38:27.623 回答
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>
于 2012-11-02T08:08:38.447 回答