排查路线这里着重讲我碰到的一种其他几种网上都有解决方案
1.Maven仓库配置问题
解决思路:检查Maven仓库源配置、如若不行则删除本地仓库所有依赖重新下载
2.idea使用Maven不匹配
解决思路:检查idea的版本是否与Maven版本匹配,例如2019版idea最大支持Maven版本是3.6.0.
3.SpringBoot多模块项目使用maven子项目不加载依赖 重点讲!!!
如果上面这两种方式你试过了,那你大概率就是因为我碰到的这种错误了。
在开始先介绍一个pom管理依赖的标签 dependencyManagement
XXX
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。
你是不是只在这里代码块里引用了通过idea的maven Reimport来刷新依赖不从仓库下载依赖呢?
在这里引用实际上是不会加载依赖的,这里实在声明了这个依赖的版本,并没有实际引用依赖所以不会被下载,当然自己手动导包也不会去加载
正确的是应该先再管理依赖版本的pom声明版本:
然后再在实际需要使用这个依赖的子项目Pom里再进行引用,这样子项目就会进行加载依赖了
当然这个方式只能解决因为dependencyManagement标签产生的不加载依赖的问题
多数出现这种错误是因为直接Clone的开源项目 对系统架构依赖管理不熟悉才会忽略dependencyManagement标签
这个错误我排查了两天真的是丝毫没有注意到这个标签,更换idea版本 maven版本我都试过了
给我蠢哭了