目录
问题背景
Springboot3.X发布以来,毕竟是个比较新的东西,所以近期的更新还是很频繁的,短短几个月就从3.0.0到了3.0.4。使用了当前最新的3.0.4版本发现MySQL的驱动找不到了。
问题排查
本地文件
排查本地.m2,mysql-connector-java文件好好的在
难道说这个版本的bug?
去maven仓库查看Springboot3.0.4的依赖,惊讶的发现mysql-connector-java真的不见了,但是取而代之的有个mysql-connector-j
先用上再说
项目内的依赖配置改为mysql-connector-j,看起来一切都好了
什么时候变的?
逐一查看Springboot最近版本的依赖变化,发现2.7.4使用的还是mysql-connector-java,从2.7.5开始mysql-connector-java和mysql-connector-j并存了,然而到了3.0.3,mysql-connector-java被移除了
看看是不是MySQL的官方行为
mysql-connector-java的仓库页面显眼位置写了一个提示
mysql-connector-java搬走了,以后用mysql-connector-j,而且groupid也发生了变化
解决方案
Springboot2.7.4及以下
使用如下配置
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
Springboot2.7.5-3.0.2
使用如下配置之一
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
Springboot3.0.3及以上
使用如下配置
<!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>