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啦