带有 Spring Data Cassandra 1.5.x 的 Spring Boot 1.5.x 与 Cassandra 2.1 不兼容

标签 spring spring-boot spring-data spring-data-cassandra

我尝试使用 Cassandra 2.1 通过 Spring Data Cassandra 1.5.x 升级到 Spring Boot 1.5,但出现启动错误:

Failed to instantiate [org.springframework.data.cassandra.mapping.CassandraMappingContext]: Factory method 'cassandraMapping' threw exception; nested exception is java.lang.NoClassDefFoundError: com/datastax/driver/core/DataType$CollectionType

Cassandra 详细信息:

[cqlsh 5.0.1 | Cassandra 2.1.15.1403 | DSE 4.8.9 | CQL spec 3.2.1 | Native protocol v3]

如何升级到 Spring Boot 1.5?

编辑:有没有办法在我的 pom.xml 中使用 Spring Boot Dependency 1.5 作为父项,但保留 Spring Data Cassandra 1.4

最佳答案

这意味着您正在寻找的类没有任何定义,因为预期的 jar 中缺少该类。您正在使用 Cassandra 的 Spring data 1.5 高级版本并尝试连接到 2.1.15,这仅与 Spring data 1.4 兼容。

您可以继续使用 Spring data 1.4,也可以考虑将 Cassandra 从 2.1 切换到 3.1.3

Spring Data Cassandra 1.5 发布,内部使用 Cassandra java 驱动程序 3.1.3

引用号:https://docs.spring.io/spring-data/cassandra/docs/1.5.6.RELEASE/reference/html/

关于带有 Spring Data Cassandra 1.5.x 的 Spring Boot 1.5.x 与 Cassandra 2.1 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45575233/

相关文章:

spring-boot - 将自定义 header 添加到 REST PUT 请求

java - 嵌套异常是 java.lang.NoClassDefFoundError : org/springframework/data/mapping/IdentifierAccessor

jpa - Spring Boot显示sql参数绑定(bind)?

java - JpaRepository 的泛型没有类型删除?

java - Spring-服务被eureka服务器发现后关闭

java - JPA/Hibernate动态注入(inject)实体管理器

java - 为 Spring Boot 应用程序编写的核心转储文件在哪里

java - hibernate映射中可以映射多少个表?

java - 更改用户后 Hibernate 不运行

spring-boot - Spring Boot 日志记录 : use of system variables in log4j2. xml