2017-11-07 1 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을 제거한다. 이 명령

    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> 
관련 문제