穿春装跑Cassandra

cyej8jka  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(196)

我已经在我的windows环境中安装了cassandra,我用cassandra.bat运行它。
现在,我有一个spring boot应用程序,它包含以下cassandra配置文件:

@Configuration
@EnableCassandraRepositories(
        basePackages = "org.manuel.cassandra.repositories")
public class CassandraConfig extends AbstractCassandraConfiguration {

    @Override
    protected String getKeyspaceName() {
        return "testKeySpace";
    }

    @Bean
    public CassandraClusterFactoryBean cluster() {
        CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
        cluster.setContactPoints("127.0.0.1");
        cluster.setPort(9142);
        return cluster;
    }

    @Override
    protected boolean getMetricsEnabled() { return false; }

    @Bean
    public CassandraMappingContext cassandraMapping() throws ClassNotFoundException {
        return new CassandraMappingContext();
    }

}

但我无法运行应用程序,因为我得到以下结果:

Caused by: java.lang.NoClassDefFoundError: com/datastax/driver/core/Session
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[na:na]
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3167) ~[na:na]
    at java.base/java.lang.Class.getDeclaredMethods(Class.java:2310) ~[na:na]
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:489) ~[spring-core-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    ... 27 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.datastax.driver.core.Session
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
    ... 31 common frames omitted

以下是我与cassandra相关的依赖项:

implementation 'org.springframework.boot:spring-boot-starter-data-cassandra'
implementation 'com.datastax.cassandra:cassandra-driver-core:4.0.0'
implementation 'io.dropwizard.metrics:metrics-jmx:4.1.0'

我的application.yml文件是空的,我还声明了一个存储库,但我认为这个错误与这个问题无关。

wfveoks0

wfveoks01#

这个 spring-boot-starter-data-cassandra 视情况而定 sprint-data-cassandra 它使用java驱动程序3.6.0,并且您已经指定了对4.0.0的依赖关系-此版本与3.x版本不兼容,因此您需要更正依赖关系。

相关问题