项目报错:java.lang.IllegalStateException:Cannot load driver class:com.mysql.cj.jdbc.Driver
报错了不要紧,就怕不报错。
根据报错提示:这个问题主要时mysql连接失败:
小编刚装的Mysql数据库,java项目导入的jar包版本是5.x的版本,将mysql-connector-java升级到8.0.x的版本;
1.pom.xml文件如下:
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.x</version>
</dependency>
2.查看配置文件中的驱动类名字是否正确;
spring.datasourse.driver-class-name=com.mysql.cj.jdbc.Driver
3.查看maven依赖,发现mysql-connector-java-5.x.jar是之前的5.x,那么就需要替换到新的mysql-connector-java-8.0.x.jar包.
4.通过添加mysql-connector-java.jar包到maven仓库。https://blog.youkuaiyun.com/qq_40615403/article/details/103306483
5.maven仓库中可以查看到,进行maven--》update project。一般情况下到这一步就ok。小编这次这么操作,maven依赖中并没进行加载mysql-connector-java-8.0.x.jar包。
6.根据百度提供的各种操作一顿试,结果还是maven无法加载mysql-connector-java-8.0.x.jar包,小编百般无奈之下放弃,内心戏非常足,一顿斗争之后,灰头土脸的继续。柳暗花明又一村。
7.点击项目--》maven--》Add Dependency,出现如下界面;
在对应的Group Id 、 Artifact Id 、Version中填写对应的,mysql、mysql-connector-java、8.0.x;Scope 中进行选择:runtime ,最后点击ok,查看maven中有mysql-connector-java-8.0.x.jar
查看maven依赖,这个jar包加载进项目中,但这种加载是你添加哪个工程,哪个工程下才有,小编用这种方式对其他工程也进行添加,重新maven后,还是不成功。
小编只好在pom文件中还原到之前的5.x版本,查看maven依赖是否加载之前的版本,然后修改版本号,重新maven,查看maven依赖,这次查看,加载的是8.0.x版本,但是查看别的工程,加载的还是之前的5.x版本,小编查看项目中的pom.xml,并没有查看到对应的5.x版本,那么怎么会加载之前的版本。
点击pom.xml中的mysql-connector-java的依赖,会出现以下提示:
The manged version is 5.x The artifact is managed in org.springframework.boot:spring-boot-dependencies:1.5.6.RELEASE
Jump to location (进入文件)
原来这边依赖中有mysql5.x的版本,怪不得会加载5.x的版本。
小编根据提示,在自己本地的maven仓库中找到提示的文件,修改pom文件下的mysql版本号。重新maven--》update project
查看maven依赖,各个工程加载的是8.0.x版本。问题解决ok。
问题看着简单,解决后更简单,可是简单的问题,花费的时间却不小,心一定要细,否则只会盲目的解决问题,解决不了,还浪费时间。