Unresolved dependency: XXXXX

Could not find artifact XXXX

Plugin ‘org.apache.maven.plugins:maven-compiler-plugin:’ not found

这些报错其实本质上来讲就是在本地仓库中找不到所需要的依赖 / 插件,那么这篇文章就从地址锁定的角度来看一下引入依赖 or plugin的注意点,希望能给大家解决八阿哥多一个不一样的思路~~


业务需求:将一个工具项目打包为Jar给另一模块使用

依赖找不到

工具项目打包为Jar

当你运行Maven项目并执行 install 命令时,生成的JAR包会被安装到本地Maven仓库中,同时也会被复制到你的项目的target目录中。

锁定该Jar包位置

下载好的Jar包会被安装在 本地仓库地址 + 资源坐标信息

资源的坐标信息:项目的唯一标识符 +项目的名称或者模块的名称 +项目的版本号

这些元素通常位于pom.xml文件的顶层(元素下),例如:

cn.bugstack.middlewaredb-router-spring-boot-starter1.0.2-SNAPSHOT...

假设你的本地仓库是默认地址(.m2/repository)的情况下,该Jar包将被下载到:

C:/XXX/.m2\repository\cn\bugstack\middleware\db-router-spring-boot-starter

所以一开始未能找到该依赖的原因也很明显啦,就是因为版本号不正确导致的,通过上图可以知道,我们可以运用的版本有1.0.0和1.0.2-SNAPSHOT,所以改回来就好啦

当前项目引用该正确Jar包位置

其实这里写的内容和工具项目标签中的项目坐标信息一模一样

然后一刷新就能用啦!但是前提是两个项目的本地仓库都设置为同一个位置才行


插件找不到

其实这里如果大家理解了上面的地址定位的方式就能发现问题了,那就是资源坐标信息没有完善,少了个有木有发现,但是你不能凭空写吧?所以老老实实去找一下自己的本地仓库吧~

挑一个版本补充好资源坐标信息 就OK啦

搞定!希望本文对大家有帮助^_^~