Maven父子模块,POM继承问题:Could not find artifact xxxxxx

今天重构之前的一个单体项目,想鸟枪换大炮,直接上SpringCloud。

project structure
刚改完一些依赖冲突,想mvn clean一下。

[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for com.beetle:huanghua-mail:0.0.1-SNAPSHOT: Could not find artifact com.beetle:hanghua-server:pom:1.0-SNAPSHOT and ‘parent.relativePath’ points at no local POM @ line 6, column 13@

在这里插入图片描述
当时我就纳闷了,仔细检查代码,看看父pom和子pom都好好的,也没缺胳膊少腿。标签正常,标签也正常,本来就菜的我,摸了摸满头浓密的秀发,一筹莫展。

在我薅掉几把头发后,才想起来看报错信息。于是parent.relativePath’ points at no local POM 终于引起了我的注意。本来就没搞清楚在继承父pom时,自动生成的< relativePath />是干嘛的,于是一顿google。

在这里插入图片描述

Maven构建jar包时候查找顺序:

relativePath指定的地址 > 本地仓库 > 远程仓库

【relativePath】:父项目的pom.xml文件的相对路径。

  1. < relativePath/>未指定地址时,先从构建当前项目的目录查找,然后本地仓库查找。若找不到,再去远程仓库寻找。
  2. 去掉< relativePath/>相当于. ./pom.xml(只是因为不报错了,猜测),直接去当前项目的上一级去寻找。但不保险,不推荐采用。

最终解决方案:

 <relativePath>../</relativePath>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在多模块打包时报错"Error: Could not find artifact 包地址"通常是由于以下几个原因造成的: 1. 仓库配置错误:请确保你的仓库配置文件(如settings.xml)中配置了正确的仓库地址和认证信息。你可以检查一下该文件中的配置是否正确,并尝试重新构建项目。 2. 模块依赖错误:检查一下你的模块依赖是否正确。如果你依赖的模块不存在或者版本号错误,可能会导致无法找到对应的artifact。你可以检查一下依赖项的名称和版本号是否正确,并且确保这些依赖模块可以在仓库中找到。 3. Maven仓库问题:如果你使用的是私有仓库,可能会出现无法找到artifact问题。请确保你的私有仓库可用,并且在仓库配置中进行正确的设置。 4. 网络连接问题:有时候,网络连接不稳定或者防火墙设置会导致无法下载artifact。请确保你的网络连接正常,并且能够访问相关仓库。 5. 手动安装artifact:如果你确定artifact在仓库中存在,但仍然无法找到,你可以考虑手动安装该artifact到本地仓库。你可以使用以下命令将artifact安装到本地仓库: ``` mvn install:install-file -Dfile=path/to/artifact.jar -DgroupId=group-id -DartifactId=artifact-id -Dversion=version -Dpackaging=jar ``` 希望这些解决方案能够帮助到你!如果问题仍然存在,请提供更详细的错误信息,我将尽力提供更进一步的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值