Spring Boot配置MySQL连接时com.mysql.cj.jdbc.Driver报错是什么原因?
问题原因及解决方案
1. Gradle依赖缓存损坏
Windows环境下的依赖缓存完整可用,Mac环境拉取依赖时可能因网络波动导致mysql-connector-java依赖下载不完整,类加载时无法找到对应驱动类。
解决方法:在项目根目录执行命令./gradlew clean build --refresh-dependencies,强制刷新Gradle依赖并清理本地损坏的缓存。
2. IDE运行配置缺失runtime依赖
Mac端的IDEA等IDE默认可能未将runtimeOnly范围的依赖加入运行时classpath,导致驱动类无法被加载。
解决方法:
- 打开IDE的运行/调试配置面板,找到当前Spring Boot项目的启动项
- 勾选「Include dependencies with 'Runtime only' scope」选项后重启项目
3. 配置行存在隐性特殊字符
不同系统的文本编辑器可能在编辑yml文件时引入不可见的特殊字符,恰好出现在driverClassName配置行导致解析错误,Windows系统对这类隐性字符的兼容度更高所以运行正常。
解决方法:
- 删掉整行
driverClassName: com.mysql.cj.jdbc.Driver后手动重新输入 - 也可以直接删除该行配置,Spring Boot 2.x+版本可自动根据jdbc url识别MySQL驱动,无需显式指定驱动类名
4. 两端MySQL版本不一致
如果Mac本地安装的MySQL版本为5.7及以下,和Windows端的MySQL8.x版本不匹配,旧版MySQL对应的驱动类为com.mysql.jdbc.Driver(不带cj路径),也会触发类找不到错误。
解决方法:确认Mac端MySQL版本,版本低于8.x时将驱动类名改为com.mysql.jdbc.Driver即可。
内容的提问来源于stack exchange,提问作者Mama
相关产品推荐
相关产品推荐

