NoClassDefFoundError-用于Cassandra的datastax java驱动程序

NoClassDefFoundError-用于Cassandra的datastax java驱动程序,cassandra,pom.xml,noclassdeffounderror,datastax-java-driver,Cassandra,Pom.xml,Noclassdeffounderror,Datastax Java Driver,我目前无法使用datastax驱动程序连接到我的cassandra数据库。我得到以下错误: com.datastax.driver.core.TransportException: [/127.0.0.1] Unexpected exception triggered (java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf(Ljava/util/Collection;)Lcom/google/comm

我目前无法使用datastax驱动程序连接到我的cassandra数据库。我得到以下错误:

com.datastax.driver.core.TransportException: [/127.0.0.1] Unexpected exception triggered (java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;)
    at com.datastax.driver.core.Connection$Dispatcher.exceptionCaught(Connection.java:556)
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:122)

Caused by: java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
    at com.datastax.driver.core.DataType.<clinit>(DataType.java:144)
    at com.datastax.driver.core.Codec.<clinit>(Codec.java:31)
完整的pom.xml:

我缺少依赖项了吗?

根据《卡桑德拉驱动核心》的1.0.4版使用了Guava的14.0.1版,而不是15.0版。我猜你看到了版本冲突。即使版本差异不是导致此问题的原因,也可能导致其他问题


您通常不需要在POM中包含可传递依赖项,Maven会为您处理这些依赖项。或者您自己的代码是否使用番石榴本身?

基于此问题的建议:

我不得不排除google collections jar:

    <dependency>
        <groupId>org.zkoss.zk</groupId>
        <artifactId>zkspring-core</artifactId>
        <version>3.1</version>
        <exclusions>
            <exclusion>
                <groupId>com.google.collections</groupId>
                <artifactId>google-collections</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.zkoss.zk</groupId>
        <artifactId>zkspring-core</artifactId>
        <version>3.1</version>
        <exclusions>
            <exclusion>
                <groupId>com.google.collections</groupId>
                <artifactId>google-collections</artifactId>
            </exclusion>
        </exclusions>
    </dependency>