我目前无法使用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中包括了pom.xml伪制品如下:
<!-- Datastax driver -->
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>1.0.4</version>
</dependency>
<!-- Cassandra -->
<dependency>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-all</artifactId>
<version>1.2.9</version>
</dependency>
<!-- guava --<
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>15.0</version>
</dependency>Full pom.xml:http://pastebin.ubuntu.com/6358603/
我失去了依赖吗?
发布于 2013-11-04 15:02:04
基于这个问题的建议:没有这样的方法错误: ImmutableList.copyOf()
我不得不排除google集合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>发布于 2013-11-04 13:35:49
根据其POM,1.0.4版的cassandra-driver-core使用的是14.0.1版的番石榴,而不是15.0版。我猜你看到的是版本冲突。即使版本差异不是造成此问题的原因,它也可能导致其他问题。
您通常不需要在POMs中包含传递依赖项,Maven会为您处理这些依赖关系。还是您自己的代码使用番石榴本身?
https://stackoverflow.com/questions/19768169
复制相似问题