2

Я использую весенний ботинок 1.3.8.RELEASE. Чтобы использовать драйвер cassandra 3.x, я попробовал что-то вроде ниже;Весенняя обувь с Cassandra 3.x driver

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-cassandra</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework.data</groupId> 
       <artifactId>spring-data-cassandra</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-cassandra</artifactId> 
     <version>1.4.0.RELEASE</version> 
     <exclusions> 
      <exclusion> 
       <groupId>com.datastax.cassandra</groupId> 
       <artifactId>cassandra-driver-core</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.datastax.cassandra</groupId> 
       <artifactId>cassandra-driver-dse</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/com.datastax.cassandra/cassandra-driver-core --> 
    <dependency> 
     <groupId>com.datastax.cassandra</groupId> 
     <artifactId>cassandra-driver-core</artifactId> 
     <version>3.1.0</version> 
    </dependency> 

Но я получаю ошибку;

Caused by: java.lang.NoSuchMethodError: com.datastax.driver.core.DataType.asJavaClass()Ljava/lang/Class; 
at org.springframework.data.cassandra.mapping.CassandraSimpleTypeHolder.<clinit>(CassandraSimpleTypeHolder.java:62) ~[spring-data-cassandra-1.4.0.RELEASE.jar:?] 

Я пробовал эту причину на https://github.com/spring-projects/spring-boot/issues/5835, есть сообщение;

Принятие изменений Cassandra 3 в Spring Data Кассандры 1,5 (Ingalls) не накладывает критические изменения для Spring ботинке. Протестировано обновление с помощью Boot 1.3.3 и 1.4.0-SNAPSHOT.

Не должно быть, как указано выше? Где я ошибаюсь?

Примечание: Я пробовал этот пример: https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-cassandra

+0

'... не налагает изменения для Spring Boot ...' означает, что можно использовать Spring Data Ingalls (что переводится как Spring Data Cassandra 1.5) с Spring Boot 1.4. Spring Data Ingalls доступен как релиз M1. – mp911de

ответ

3

весна-данных Cassandra-1.4.0.RELEASE зависит от <cassandra.version>2.1.11</cassandra.version> и <cassandra-driver-dse.version>2.1.7.1</cassandra-driver-dse.version> см https://github.com/spring-projects/spring-data-cassandra/blob/1.4.0.RELEASE/pom.xml.

Если вы хотите использовать Cassandra 3.x, вы должны перейти на пружинные загрузки 1.5.x в benifit из пружинной загрузки стартера-данных Cassandra: 1.5.x, которая зависит от <cassandra.version>3.0.0</cassandra.version> и <cassandra-driver.version>3.0.3</cassandra-driver.version> см https://github.com/spring-projects/spring-data-cassandra/blob/1.5.0.M1/pom.xml

Удалите зависимость драйвера Cassandra от файла pom. Весенний ботинок предоставит правильную версию

+0

Используется '1.5.0.BUILD-SNAPSHOT' и выглядит так, как будто он работает. Любая идея, когда будет '1.5.0.RELEASE'? – Raj

+0

Spring-boot 1.5.0 еще не выпущен. –

Смежные вопросы