1

cassandra API をインストールして実行しようとしています: hector.

プロセスの起動中に、1 つの例外がスローされ、次のトレースが表示されます。

スレッド「メイン」の例外 java.lang.NoSuchMethodError: org.apache.cassandra.thrift.Column.(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;J)V me.prettyprint.cassandra.model.HColumnImpl.toThrift (HColumnImpl.java:112) で me.prettyprint.cassandra.model.MutatorImpl.addInsertion(MutatorImpl.java:98) で 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ライブラリをロードすると、それが起こるのをすでに見ました。私のプロジェクトには、2 つのthrifts jar ファイルがあります。

  • libthrift-0.7.0.jar
  • Apache-カサンドラ-thrift-1.1.0.jar

1 つ目は、この例外に関する jar です。これは、彼を削除するとエラーが増えるためです。

アパッチ カサンドラ: 1.1.0

私の悪い英語でごめんなさい:/

よろしくお願いします、

4

1 に答える 1

1

apache-cassandra-thrift-1.1.0.jarには、CassandraのThrift関連のクラスが含まれていますが、libthrift-0.7.0.jarは、基盤となるThriftプロトコルの実装です。クラスパスで参照されている古いjarがあり、おそらくより高い優先順位でロードされているように聞こえますか?

于 2012-05-24T14:26:50.270 に答える