maven报错:'parent.relativePath' points at no local
Non-resolvable parent POM for com.ruoyi:projecname-gateway:[unknown-version]: Could not transfer artifact com.ruoyi:projecname:pom:3.6.1 from/to nexus-abc (https://nexus.abc.cn/repository/maven-public): Access denied to: https://nexus.abc.cn/repository/maven-public/com/ruoyi/projecname/3.6.1/projecname-3.6.1.pom , ReasonPhrase:Forbidden. and 'parent.relativePath' points at no local POM @ line 4, column 13
已做脱敏处理
# 经过
- 记一次报错,项目在本地 IDEA 运行正常,部署到服务器的 k8s 集群出现问题,提示以上报错。
- 开始的关注点在
'parent.relativePath'
上,网上找了很多答案,说是上级文件没有 POM 文件,加<relativePath/>
注解即可,尝试无效。 - 后面我有把注意点放到 maven 地址上,但在复制地址到本地浏览器打开又是正常的,尝试
Dmaven.wagon.http.ssl.allowall=true
等注释仍无果。 - stackoverflow 上有答案说权限问题,可 nexus 是设置了允许匿名访问的。
- 又把注意点关注在
Access denied
上,在容器终端访问报 403,于是切换成 nexus 容器 ip,似乎有点效果,至少报错不一样了。
# 答案
最后我反复测试在 devpos 容器终端访问域名和容器 DNS 地址,最后发现是由于 nexus 的路由做了白名单,只允许宿主机的 ip 地址段访问,没有考虑到容器内的虚拟 ip,最终在白名单上追加 xx.xx.0.0/16
解决问题。
上次更新: 2024/01/31, 11:46:46