使用Cassandra 3.x驱动程序进行Spring Boot
我使用Spring boot 1.3.8.RELEASE
。 要使用cassandra 3.x驱动程序,我尝试了类似下面的内容;
org.springframework.boot spring-boot-starter-data-cassandra org.springframework.data spring-data-cassandra org.springframework.data spring-data-cassandra 1.4.0.RELEASE com.datastax.cassandra cassandra-driver-core com.datastax.cassandra cassandra-driver-dse com.datastax.cassandra cassandra-driver-core 3.1.0
但我得到错误;
Caused by: java.lang.NoSuchMethodError: com.datastax.driver.core.DataType.asJavaClass()Ljava/lang/Class; at org.springframework.data.cassandra.mapping.CassandraSimpleTypeHolder.(CassandraSimpleTypeHolder.java:62) ~[spring-data-cassandra-1.4.0.RELEASE.jar:?]
我在https://github.com/spring-projects/spring-boot/issues/5835尝试了这个原因,有一个post;
在Spring Data Cassandra 1.5(Ingalls)中采用Cassandra 3更改并不会对Spring Boot进行重大更改。 使用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
spring-data-cassandra-1.4.0.RELEASE依赖于
和
请参阅https://github.com/spring-projects/spring-data-cassandra/blob/1.4.0.RELEASE/pom.xml 。
如果你想使用Cassandra 3.x,你应该从spring-boot-starter-data-cassandra:1.5.x升级到spring-boot 1.5.x,这取决于
和
请参阅https://github.com/spring-projects/spring-data-cassandra/blob/1.5.0.M1/pom。 XML
从pom文件中删除Cassandra驱动程序依赖项。 Spring boot将提供正确的版本