使用 Nexus 代理存储库进行 maven 打包时出错
an error while using Nexus proxy repository for maven packaging
本例中有两个远程仓库,一个用于发布,一个用于快照。我在 Nexus 中创建了两个代理存储库,一个用于发布存储库,另一个用于快照存储库。
settings.xml关于仓库的部分如下:
<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 中 release proxy repo 的设置如下:
Nexus中snapshot proxy repo设置如下:
对于这个问题,我应该首先检查什么?
非常感谢!
将代理仓库设置为混合类型后即可使用。因为远程repo里面既有snapshot也有release。
本例中有两个远程仓库,一个用于发布,一个用于快照。我在 Nexus 中创建了两个代理存储库,一个用于发布存储库,另一个用于快照存储库。 settings.xml关于仓库的部分如下:
<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 中 release proxy repo 的设置如下:
Nexus中snapshot proxy repo设置如下:
对于这个问题,我应该首先检查什么? 非常感谢!
将代理仓库设置为混合类型后即可使用。因为远程repo里面既有snapshot也有release。