Unresolved dependency: XXXXX
Could not find artifact XXXX
Plugin 'org.apache.maven.plugins:maven-compiler-plugin:' not found
这些报错其实本质上来讲就是在本地仓库中找不到所需要的依赖 / 插件,那么这篇文章就从地址锁定的角度来看一下引入依赖 or plugin的注意点,希望能给大家解决八阿哥多一个不一样的思路~~
业务需求:将一个工具项目打包为Jar给另一模块使用
当你运行Maven项目并执行 install 命令时,生成的JAR包会被安装到本地Maven仓库中,同时也会被复制到你的项目的
target
目录中。
下载好的Jar包会被安装在 本地仓库地址 + 资源坐标信息 中
资源的坐标信息:项目的唯一标识符 + 项目的名称或者模块的名称 + 项目的版本号
这些元素通常位于 pom.xml
文件的顶层(
元素下),例如:
- <project>
- <groupId>cn.bugstack.middlewaregroupId>
- <artifactId>db-router-spring-boot-starterartifactId>
- <version>1.0.2-SNAPSHOTversion>
- ...
- project>
假设你的本地仓库是默认地址(.m2/repository)的情况下,该Jar包将被下载到:
C:/XXX/.m2\repository\cn\bugstack\middleware\db-router-spring-boot-starter
所以一开始未能找到该依赖的原因也很明显啦,就是因为版本号
不正确导致的,通过上图可以知道,我们可以运用的版本有1.0.0和1.0.2-SNAPSHOT,所以改回来就好啦
其实这里写的内容和工具项目
然后一刷新就能用啦!但是前提是两个项目的本地仓库都设置为同一个位置才行
其实这里如果大家理解了上面的地址定位的方式就能发现问题了,那就是 资源坐标信息 没有完善,少了个
挑一个版本补充好 资源坐标信息 就OK啦