理论照进现实-maven中添加了mysql的连接驱动启动报错——“cannot load driver class: com.mysql.cj.jdbc.Driver”
最近尝试搭建一个简单的springboot后台,在maven中引入了mysql的连接驱动等依赖,启动项目的时候报错,意思是加载这个mysql的驱动失败,不认识配置文件中的这个驱动,查看maven中mysql的驱动存在,但是无法启动。查阅相关文档后发现mysql依赖添加到了dependencyManagement中。仔细查阅相关资料后发现,dependencyManagement和dependencies的作用各不相同。
1.dependencyManagement
定义位置:如果是多模块的话,通常在父项目的pom文件中定义。
作用:主要的作用是用来声明一些用到的依赖,以及版本号,统一的管理了多项目的依赖项的版本号,避免了冲突和不一致性
结论:是实际上并不会在maven依赖库中引入这些依赖,因此使用驱动相关的包和方法时也会出现找不到的情况。
2.dependencies
定义位置:常位于pom文件中。
作用:从仓库中下载这些依赖以供后续的方法使用、编译、测试和运行。
结论:用于实际声明依赖项和版本号
当父项目中定义的依赖项的版本号与子项目中的版本号发生冲突时,以子项目中的版本号为优先。