Spring Boot项目无法加载MySQL驱动类,启动失败求助
com.mysql.cj.jdbc.Driver的问题 以下是针对该问题的排查和解决步骤:
1. 确认MySQL驱动依赖的正确性
com.mysql.cj.jdbc.Driver是MySQL 8.x版本驱动的类名,若你的pom.xml中依赖版本为5.x,会直接导致类找不到。同时要确保依赖范围为compile(默认无需显式指定),避免因test等范围导致运行时无法加载。
正确的依赖配置示例:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <!-- 可借助Spring Boot依赖管理自动适配版本,无需手动指定 --> </dependency>
若需手动指定版本,推荐使用适配Spring Boot 2.7.x的稳定版本(如8.0.33)。
2. 检查数据源配置文件
确保application.properties或application.yml中的驱动类名与依赖版本匹配:
- MySQL 8.x:
com.mysql.cj.jdbc.Driver - MySQL 5.x:
com.mysql.jdbc.Driver
完整的MySQL配置示例(application.properties):
spring.datasource.url=jdbc:mysql://localhost:3306/restapi?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=你的数据库密码 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
3. 清理项目缓存并重新构建
依赖缓存异常可能导致驱动包未正确下载,执行以下命令强制刷新:
- Maven:
mvn clean install -U - Gradle:
./gradlew clean build --refresh-dependencies
同时检查本地Maven仓库(路径一般为~/.m2/repository/mysql/mysql-connector-java/),确认对应版本的jar包已存在,若缺失可手动重新拉取依赖。
4. 验证IDE依赖加载状态
- IDEA:打开
File -> Project Structure -> Libraries,确认mysql-connector-java已被引入;右键pom.xml选择Maven -> Reload Project。 - Eclipse:右键项目选择
Maven -> Update Project,勾选Force Update of Snapshots/Releases。
5. 确认JDK版本兼容性
MySQL 8.x驱动要求JDK 8及以上版本,Spring Boot 2.7.x同样要求JDK 8+,确保项目使用的JDK版本符合要求。
典型报错日志示例
Caused by: java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:284)
... 22 more
内容的提问来源于stack exchange,提问作者dhruv singhal

