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
相关产品推荐
相关产品推荐

