maven错误:
错误:找不到 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,会出现如下错误:
原因分析:
1. 子工程使用的<relativePath/>标签,表示在当前maven本地仓库查找
2. 当对父工程执行maven install,那么会先去生成子工程的jar包,而子工程依赖了父工程,那么父工程的jar要在maven本地仓库存在,如果此时父工程的jar包不在maven本地仓库,那么就会出现上面的错误
解决办法:
第一种方法:修改relativePath的值,指定父工程的地址(推荐)
第二种方法: 先把<modules>标签给注释先,然后再对父工程进行maven insatll,再把<modules>标签注释删除,再去父工程进行maven install命令或者其他命令就不会报错了,但是这种方式不推荐,以后可能还会出现这样的问题!(不推荐)文章来源:https://www.toymoban.com/news/detail-525339.html
第三种方法: 如果父工程项目在上一级目录,那么可以直接使用relativePath的值默认为“../pom.xml”,而不写relativePath标签就可以使用默认值,因此可以不写relativePath文章来源地址https://www.toymoban.com/news/detail-525339.html
到了这里,关于maven父工程出现Could not find artifact xxx异常的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!