You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot切换Cassandra启动报错:无法配置DataSource找不到合适驱动类

问题根因
  • 报错核心是Spring Boot默认开启了JDBC数据源自动配置,从MySQL切换到Cassandra后,未移除JDBC相关的配置、也未排除JDBC自动配置类,导致Spring Boot仍尝试加载JDBC数据源,找不到适配Cassandra的JDBC驱动就抛出当前错误。
  • 配置文件中冗余的spring.datasource.url属于JDBC专属配置,Spring Data Cassandra原生不依赖该配置,反而会触发JDBC自动配置的校验逻辑。
解决步骤

1. 排除JDBC数据源自动配置

在Spring Boot启动类的@SpringBootApplication注解中添加排除项,关闭JDBC相关自动配置:

import org.springframework.boot.autoconfigure.jdbc.*;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(exclude = {
    DataSourceAutoConfiguration.class,
    DataSourceTransactionManagerAutoConfiguration.class,
    JdbcTemplateAutoConfiguration.class
})
public class YourApplication {
    public static void main(String[] args) {
        SpringApplication.run(YourApplication.class, args);
    }
}

2. 修正application.properties配置

删除冗余的JDBC配置行,仅保留Cassandra专属配置:

# 删除以下无效的JDBC配置
# spring.datasource.url=jdbc:cassandra://localhost:9042/survey_tool
spring.data.cassandra.cluster-name=Test Cluster
spring.data.cassandra.contact-points=127.0.0.1
spring.data.cassandra.keyspace-name=survey_tool
spring.data.cassandra.port=9042
# 若Cassandra开启了身份校验,补充以下配置
# spring.data.cassandra.username=你的账号
# spring.data.cassandra.password=你的密码

3. 可选依赖补充(非必需)

如果业务需要使用JDBC方式操作Cassandra,需要额外在pom.xml中添加Cassandra JDBC驱动依赖:

<dependency>
    <groupId>com.datastax.oss</groupId>
    <artifactId>java-driver-core</artifactId>
    <version>4.14.1</version>
</dependency>

常规Spring Data Cassandra开发使用原生驱动即可,无需添加该JDBC依赖。

4. 重启应用

在Eclipse中执行Maven的clean、install命令,清理项目缓存后重新启动应用即可解决当前启动报错。

附加检查项(可选)

若修复上述配置后仍存在数据操作相关报错,可确认实体类注解配置正确:

  • 实体类上添加org.springframework.data.cassandra.core.mapping.Table注解
  • 主键字段添加@PrimaryKey或@Id注解

内容的提问来源于stack exchange,提问作者sherin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 02:15:02