使用Cassandra 3.x驱动程序进行Spring Boot [英] Spring Boot with Cassandra 3.x driver

查看:389
本文介绍了使用Cassandra 3.x驱动程序进行Spring Boot的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Spring启动 1.3.8.RELEASE 。要使用cassandra 3.x驱动程序,我尝试了类似下面的内容;​​

I use Spring boot 1.3.8.RELEASE. To use cassandra 3.x driver i tried something like below;

    <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 ,有一个帖子;


采用Spring数据中的Cassandra 3更改Cassandra 1.5
(Ingalls)不会对Spring Boot进行重大更改。 使用Boot 1.3.3和1.4.0-SNAPSHOT升级测试

Isn它应该像上面一样吗?
我哪里错了?

Isn't it supposed to be like above? Where i am wrong?

注意:我正在尝试这个例子: https://github.com/spring-projects/spring -boot / tree / master / spring-boot-samples / spring-boot-sample-data-cassandra

NOTE: I was trying this example: https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-cassandra

推荐答案

spring-data-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

spring-data-cassandra-1.4.0.RELEASE depends on <cassandra.version>2.1.11</cassandra.version> and <cassandra-driver-dse.version>2.1.7.1</cassandra-driver-dse.version>see https://github.com/spring-projects/spring-data-cassandra/blob/1.4.0.RELEASE/pom.xml.

如果你想使用Cassandra 3.x你应该从spring-boot-starter-升级到spring-boot 1.5.x以获得好处data-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

If you want to use Cassandra 3.x you should upgrade to spring-boot 1.5.x to benifit from spring-boot-starter-data-cassandra:1.5.x that depends on <cassandra.version>3.0.0</cassandra.version> and <cassandra-driver.version>3.0.3</cassandra-driver.version>see https://github.com/spring-projects/spring-data-cassandra/blob/1.5.0.M1/pom.xml

从pom文件中删除Cassandra驱动程序依赖项。 Spring boot将提供正确的版本

Remove Cassandra driver dependency from pom file. Spring boot will provide the right version

这篇关于使用Cassandra 3.x驱动程序进行Spring Boot的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆