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

Spring Boot JPA项目启动抛出ClassNotFoundException问题求助

问题排查与解决:Spring Boot启动时ClassNotFoundException: com.taskproject.blogproject

核心问题定位

从异常堆栈和配置文件可直接锁定两个关键错误:

1. 数据库驱动类配置完全错误

在application.properties中,spring.datasource.driver-class-name被错误设置为项目包名com.taskproject.blogproject,而非MySQL的JDBC驱动类。Spring尝试加载这个不存在的类,直接触发ClassNotFoundException。

2. 缺少MySQL驱动依赖

pom.xml中仅引入了H2数据库依赖,但实际配置的是MySQL数据源,导致MySQL驱动类无法被加载。


具体修复步骤

步骤1:修正驱动类配置

修改application.properties中的驱动类配置:

# 替换原错误配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

步骤2:添加MySQL驱动依赖

在pom.xml的<dependencies>块中添加MySQL驱动依赖(可移除无用的H2依赖):

<!-- 移除H2依赖(若无需使用) -->
<!-- <dependency>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency> -->

<!-- 添加MySQL官方驱动 -->
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
</dependency>

步骤3:额外优化(可选)

  • BlogController上同时标注了@RestController和@Service,这是冗余且不合理的:@RestController已包含@Controller和@ResponseBody功能,建议移除@Service注解。
  • 确保本地MySQL服务已启动,且blogs数据库已提前创建,否则会出现数据库连接失败的新错误。

验证修复

执行mvn clean install重新构建项目,启动Spring Boot应用后,即可正常连接MySQL数据库,不再抛出ClassNotFoundException。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:34:55