maven报错:dependency ‘org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.1.0’ not found

在出现该问题之前,我是打算创建一个父工程,由它通过 maven 的 dependencyManagement 来管理多个子工程的依赖,但是在我管理下面依赖的时候报错了:
在这里插入图片描述

于是我开始查阅资料:翻了以下相关的方法进行处理,都没得到解决:

  • maven 仓库的镜像是否配置出错?发现没出错
  • maven 仓库中的缓存删除后,进行 reload?问题没有解决
    在这里插入图片描述
  • 我导入的 mybatis 的版本是否在 maven 远程仓库中是否存在?发现是存在的,并且也在 central 中(通过 maven仓库 查阅)
  • 我导入的 mybatis 版本,是否和我的 spring boot 版本兼容?发现也是兼容的。。。

就在我手足无措之时,我尝试用手动检查版本是否存在,在命令行输入以下指令(当然先要用 maven 可执行文件哦!)

mvn dependency:get -Dartifact=org.mybatis.spring.boot:mybatis-spring-boot-starter-test:3.0.3

报了下面的错误:
在这里插入图片描述
报错提示是 mybatis-spring-boot-starter-test
误识别成了一个 Maven 插件(plugin),而不是一个普通依赖(dependency)

这就很奇怪了,明明我把依赖写在了 dependencyManagement 里面啊,可是居然说识别成了插件,我翻阅了资料,发现是以下原因导致的:

  • dependencyManagement 只做 “版本声明” 管理,不会真正引入依赖。除非你在子模块的 里再引用它,否则不会生效。而由于目前这是一个单模块项目,Maven 有时候会错误地尝试把它解析为“插件”,于是就报了该错误!

为了解决这个问题,可以采取以下方法进行解决:

解决方案

直接把 mybatis-spring-boot-starter-test 放到 dependencies 中,然后进行 maven 刷新后,再重新放入到 dependencyManagement 中,如下所示:
在这里插入图片描述
下载完之后,显示正常,就可以放到 dependencyManagement 中了:

在这里插入图片描述

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐