2017-11-07 12 views
1

私は今までのすべての最新バージョンである以下の依存関係を使用してアプリケーションを作成しています。原因:java.lang.NoSuchMethodError:com.datastax.driver.core.TypeCodec.getJavaType()Lcom/google/common/reflect/TypeToken;

 <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>2.0.0.M5</version> 
    </parent> 
    `<dependency> 
     <groupId>com.datastax.spark</groupId> 
     <artifactId>spark-cassandra-connector_2.10</artifactId> 
     <version>2.0.5</</version> 
    </dependency> 
    <dependency> 
     <groupId>com.datastax.cassandra</groupId> 
     <artifactId>cassandra-driver-core</artifactId> 
     <version>3.3.0</version> 
    </dependency>` 

私はいくつかの研究を行った後、この例外

"Caused by: java.lang.NoSuchMethodError: com.datastax.driver.core.TypeCodec.getJavaType()Lcom/google/common/reflect/TypeToken;" 

を取得し、私は理由がspark-cassandra-connector_2.10瓶もcom.datastax.driverクラスファイルが含まれていることであり、それはまたTypeCodeC.classを持っていたが、これはcassandra-driver-coreTypeCodeC.classファイルと異なっています

これまで2つの解決策があります。

  1. maven-shade-pluginを使用して、クラスファイルをjarから除外します。しかし、これには余分な作業が必要です。何らかの理由で、私はプロジェクトをjarファイルにコンパイルし、このjarファイルをプロジェクトの依存ファイルとして追加するだけです。私はこれが良い解決策だとは思わない
  2. 私は/com/datastax/driverフォルダとファイルをjarから直接削除します。このコマンド

    zip -d /Users/cicidi/.m2/repository/com/datastax/spark/spark-cassandra-connector_2.10/2.0.5/spark-cassandra-connector_2.10-2.0.5.jar /com/datastax/driver/* 
    

そして、それは作品を使用してください!次に、mavenを使用する代わりに、このjarをプロジェクトに追加する必要があります(ローカルでmavenを使用することはできますが、再度jarを取り出すとうまくいきません)。

私は見つからないインターネットでの答え。私はこの問題を解決したスマートな人がいることを知っています。しかしその前に、私はこの問題を直ちに解決したい人を助けるためにこの答えを掲示しています。

+0

とはバージョンの競合を持っていません。その後、あなた自身の回答を投稿することができます。https://stackoverflow.com/help/self-answerを参照してください。題名に「(解決された)」を入れないでください。 – Mel

答えて

0
 <dependency> 
     <groupId>com.datastax.spark</groupId> 
     <artifactId>spark-cassandra-connector_2.10</artifactId> 
     <version>2.0.0-M1</version> 
    </dependency> 

だけ質問して編集してください

 <dependency> 
      <groupId>com.datastax.cassandra</groupId> 
      <artifactId>cassandra-driver-core</artifactId> 
      <version>3.3.0</version> 
     </dependency> 
関連する問題