我尝试使用 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/