Exception “线程中无异常”;“主要”;java.lang.NoSuchMethodError Cassandra hector API

Exception “线程中无异常”;“主要”;java.lang.NoSuchMethodError Cassandra hector API,exception,client,cassandra,nosuchmethoderror,Exception,Client,Cassandra,Nosuchmethoderror,我正在尝试安装并执行CassandraAPI:hector 在流程启动期间,抛出1个异常,并显示此跟踪: 线程“main”java.lang.NoSuchMethodError:org.apache.cassandra.thrift.Column中出现异常。(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;J)V at me.prettyprint.cassandra.model.hcoluminpl.toThrift(hcoluminpl.java:112)

我正在尝试安装并执行CassandraAPI:hector

在流程启动期间,抛出1个异常,并显示此跟踪:

线程“main”java.lang.NoSuchMethodError:org.apache.cassandra.thrift.Column中出现异常。(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;J)V at me.prettyprint.cassandra.model.hcoluminpl.toThrift(hcoluminpl.java:112) at me.prettyprint.cassandra.model.MutatorImpl.addInsertion(MutatorImpl.java:98) at me.prettyprint.cassandra.model.MutatorImpl.insert(MutatorImpl.java:54) 位于com.featherlite.example.dao.ObjectDAO.insert(ObjectDAO.java:87) 位于com.featherlite.example.ClientExample.testWR(ClientExample.java:148) 位于com.featherlite.example.ClientExample.main(ClientExample.java:225)

我只是根据这个例子启动了一个项目。这不是我写的,我只是试着写

当我加载2个不同的或旧的thrift jar库时,我已经看到了这种情况。 在我的项目中,有两个thrifts jar文件:

  • libthrift-0.7.0.jar
  • apache-cassandra-thrift-1.1.0.jar
第一个是关于这个例外的jar,因为当我删除他时,我有更多的eror

ApacheCassandra:1.1.0

对不起,我的英语不好:/


例如,

apache-cassandra-thrift-1.1.0.jar包含cassandra的thrift相关类,而libthrift-0.7.0.jar是底层thrift协议实现。听起来您的类路径中可能引用了一个旧jar,可能加载的优先级更高?

apache-cassandra-thrift-1.1.0.jar包含cassandra的thrift相关类,而libthrift-0.7.0.jar是底层thrift协议实现。听起来您的类路径中可能引用了一个旧jar,可能加载的优先级更高?

谢谢您的回复。我尝试删除libthrift.0.7.jar,当我启动projet时,我会得到一个新的异常,但不会离开线程“main”java.lang.NoSuchMethodError:org.apache.cassandra.thrift.KsDef中的第一个:异常。这两个jar都是必需的,所以您不能删除它们。无论哪种方式,很明显您在某个地方遇到了jar版本问题。你使用的是什么赫克托版本?我的赫克托版本是:0.7.0.22(我认为是最新版本)。我在Hectorclient项目和我的项目中都有相同的储蓄罐。奇怪的情况。。还有,我在apache-cassandra-thrift-1.1.0.jar中看到了KSDEF方法……这不是最新的Hector。我用马文的1.0-2击败卡桑德拉的1.1,没有任何问题。1.0-5是最新版本,而0.7实际上已经很旧了。这很可能是你的问题。嗯,事实上,我的版本是1.0.3而不是0.7.22(看起来是错误的文件)。没有其他解决方法吗?谢谢你的回复。我尝试删除libthrift.0.7.jar,当我启动projet时,我会得到一个新的异常,但不会离开线程“main”java.lang.NoSuchMethodError:org.apache.cassandra.thrift.KsDef中的第一个:异常。这两个jar都是必需的,所以您不能删除它们。无论哪种方式,很明显您在某个地方遇到了jar版本问题。你使用的是什么赫克托版本?我的赫克托版本是:0.7.0.22(我认为是最新版本)。我在Hectorclient项目和我的项目中都有相同的储蓄罐。奇怪的情况。。还有,我在apache-cassandra-thrift-1.1.0.jar中看到了KSDEF方法……这不是最新的Hector。我用马文的1.0-2击败卡桑德拉的1.1,没有任何问题。1.0-5是最新版本,而0.7实际上已经很旧了。这很可能是你的问题。嗯,事实上,我的版本是1.0.3而不是0.7.22(看起来是错误的文件)。没有其他解决办法吗?