Spring Boot连接MySQL报错:Failed to load driver class com.mysql.cj.jdbc.Driver
解决Spring Boot无法加载com.mysql.cj.jdbc.Driver驱动类的问题
1. 校验MySQL驱动依赖配置
确保pom.xml中的MySQL驱动依赖匹配你的Spring Boot版本:
- Spring Boot 3.x及以上使用
mysql-connector-j(适配Jakarta EE),示例:<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> - Spring Boot 2.x使用
mysql-connector-java,示例:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
注意scope设为runtime避免编译期冲突,同时确保驱动版本与MySQL服务器版本兼容(MySQL 8.0+必须使用cj系列驱动)。
2. 修正application.properties数据库配置
确保驱动类和URL配置符合MySQL 8.0+要求:
spring.datasource.url=jdbc:mysql://localhost:3306/你的数据库名?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=你的数据库用户名 spring.datasource.password=你的数据库密码
重点:必须指定serverTimezone参数,否则会触发时区错误间接导致驱动加载失败。
3. 刷新IDEA依赖与清理缓存
- 点击IDEA右侧Maven面板的
Reload All Maven Projects,确认驱动jar包已下载到本地仓库 - 执行
File -> Invalidate Caches... -> Invalidate and Restart,清除IDEA缓存,避免缓存导致的依赖加载异常 - 检查项目
target/lib目录,确认MySQL驱动jar包存在
4. 排查依赖冲突
- 打开IDEA Maven面板的
Show Dependencies,搜索mysql,查看是否存在多个版本的驱动依赖 - 如果有其他依赖间接引入旧版驱动,在对应依赖中排除冲突:
<dependency> <groupId>第三方依赖groupId</groupId> <artifactId>第三方依赖artifactId</artifactId> <exclusions> <exclusion> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </exclusion> </exclusions> </dependency>
5. 确认版本兼容性
- Spring Boot 3.x要求MySQL驱动版本≥8.0.32,且依赖Jakarta EE规范(对应你已安装的jakarta插件)
- 避免手动指定与Spring Boot默认依赖版本差异过大的驱动版本,优先使用Spring Boot依赖管理的版本
内容的提问来源于stack exchange,提问作者Artur Müller Romanov
相关产品推荐
相关产品推荐

