使用 Nexus 代理存储库进行 Maven 打包时出错
Posted
技术标签:
【中文标题】使用 Nexus 代理存储库进行 Maven 打包时出错【英文标题】:an error while using Nexus proxy repository for maven packaging 【发布时间】:2020-08-09 03:17:27 【问题描述】:在这种情况下,有两个远程存储库,一个用于发布,另一个用于快照。我在 Nexus 中创建了两个代理存储库,一个用于发布存储库,另一个用于快照存储库。 settings.xml中关于repository的部分如下:
<repository>
<id>aliyun_release</id>
<url>http://192.168.xxx.xxx:8081/repository/aliyun_release/</url>
</repository>
<repository>
<id>aliyun_snapshot</id>
<url>http://192.168.xxx.xxx:8081/repository/aliyun_snapshot/</url>
</repository>
但打包时出错
[ERROR] Failed to execute goal on project riskcontrol-service: Could not resolve `dependencies for project com.yueyue:riskcontrol-service:jar:3.0.0-SNAPSHOT: Failed to collect dependencies at org.springframework.cloud:spring-cloud-starter-pandora:jar:1.3 -> com.taobao.pandora:taobao-hsf.sar:jar:dev-SNAPSHOT: Failed to read artifact descriptor for com.taobao.pandora:taobao-hsf.sar:jar:dev-SNAPSHOT: Could not transfer artifact com.taobao.pandora:taobao-hsf.sar:pom:dev-SNAPSHOT from/to aliyun_release (http://192.168.200.224:8081/repository/aliyun_release/): Failed to transfer file: http://192.168.200.224:8081/repository/aliyun_release/com/taobao/pandora/taobao-hsf.sar/dev-SNAPSHOT/taobao-hsf.sar-dev-SNAPSHOT.pom. Return code is: 400 , ReasonPhrase:Repository version policy: RELEASE does not allow version: dev-SNAPSHOT. -> [Help 1]`
将 settings.xml 更改为原始远程存储库后。包装过程还可以。 原settings.xml如下:
<repository>
<id>rdc-releases</id>
<url>https://repo.rdc.aliyun.com/repository/36007-release-InunWS/</url>
</repository>
<repository>
<id>rdc-snapshots</id>
<url>https://repo.rdc.aliyun.com/repository/36007-snapshot-JRXl8h/</url>
</repository>
Nexus 的版本是 3.19.1 Nexus 中发布代理 repo 的设置如下:
Nexus 中快照代理 repo 的设置如下:
我应该首先检查这个问题? 非常感谢!
【问题讨论】:
发布nexus repo设置的截图。 问题出在这里:Return code is: 400 , ReasonPhrase:Repository version policy: RELEASE does not allow version: dev-SNAPSHOT.
...
希望这可能会有所帮助:***.com/questions/40142162/…
你好,请在上面找到 Nexus 的设置。
您没有使用群组有什么原因吗?看起来您正在手动调整回购顺序,这是由一组自动完成的。或者(您的设置可能为时已晚)您可以使用混合模式,该模式允许在一个存储库中同时进行快照和发布。
【参考方案1】:
将代理存储库设置为混合类型后它可以工作。因为远程仓库中既有快照又有发布。
【讨论】:
以上是关于使用 Nexus 代理存储库进行 Maven 打包时出错的主要内容,如果未能解决你的问题,请参考以下文章