Spring Boot启动报错:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
解决Spring Boot项目启动时
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver错误 1. 修正数据库驱动类配置
mysql-connector-j(原mysql-connector-java 8.x+版本)的驱动类名已变更,旧的com.mysql.jdbc.Driver不再适用,需修改配置文件:
- 若使用
application.properties:# 替换旧的驱动类配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver - 若使用
application.yml:spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver
注:Spring Boot 2.0+版本可省略driver-class-name配置,框架会根据spring.datasource.url自动推断正确的驱动类
2. 确认pom.xml依赖配置正确性
确保依赖为最新的mysql-connector-j,且配置正确:
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> <!-- 仅运行时需要,避免编译期冲突 --> </dependency>
- 不要使用旧的
mysql-connector-java依赖,该依赖已被mysql-connector-j替代 - 无需手动指定版本,Spring Boot的依赖管理会自动匹配兼容版本
3. 清理并重建项目依赖
- 右键项目 → Maven → Clean
- 右键项目 → Maven → Update Project,勾选「Force Update of Snapshots/Releases」
- 执行菜单 Project → Clean...,选择清理所有项目
- 重启Spring Tool Suite,清除IDE缓存
4. 验证依赖是否正确加载
打开项目的Maven Dependencies目录,确认存在mysql-connector-j-xxx.jar文件:
- 若不存在,手动删除本地Maven仓库中
com/mysql/mysql-connector-j目录,再执行mvn install强制重新下载依赖
5. 排查依赖冲突
- 右键pom.xml → Maven → Show Dependencies
- 查找是否有旧的
mysql-connector-java依赖被其他间接依赖引入 - 若存在冲突,在
mysql-connector-j依赖中排除旧依赖:
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> <exclusions> <exclusion> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </exclusion> </exclusions> </dependency>
内容的提问来源于stack exchange,提问作者manav dubey
相关产品推荐
相关产品推荐

