这个错误表示找不到 xxx的artifact,而这个artifact都是由relativePath标签来指定的。因此问题出在relativePath标签的指定的父工程地址写错了!
父工程cloud-demo聚合多个子工程,pom.xml如下:
<modules>
<module>user-service</module>
<module>order-service</module>
</modules>
子工程又继承了该父工程,pom如下
<parent>
<artifactId>cloud-demo</artifactId>
<groupId>cn.itcast.demo</groupId>
<version>1.0</version>
<relativePath/>
</parent>
当对父工程执行maven指令,比如maven install,会出现如下错误:
原因:
子工程使用的<relativePath/>标签,表示在当前maven本地仓库查找
当对父工程执行maven install,那么会先去生成子工程的jar包,而子工程依赖了父工程,那么父工程的jar要在maven本地仓库存在,如果此时父工程的jar包不在maven本地仓库,那么就会出现上面的错误
解决办法:
修改relativePath的值,指定父工程的地址(推荐)
先把<modules>标签给注释先,然后再对父工程进行maven insatll,再把<modules>标签注释删除,再去父工程进行maven install命令或者其他命令就不会报错了,但是这种方式不推荐,以后可能还会出现这样的问题!
版权归原作者 哈咯摩托‖ 所有, 如有侵权,请联系我们删除。