我正在使用Apache Maven 3.5.2,并且遇到相同的问题。我尝试使用相同的帐户(用户名+密码)从两个nexus-releases-repository中提取依赖项
我的.m2/setting.xml
包含:
<servers>
<server>
<id>nexus</id>
<username>username</username>
<password>password</password>
</server>
</servers>
我的项目的pom.xml
包含:
<repositories>
<repository>
<id>nexus</id>
<url>https://DOMAIN/repository/repoA-maven-public/</url>
</repository>
<repository>
<id>nexus</id>
<url>https://DOMAIN/repository/repoB-maven-public/</url>
</repository>
</repositories>
我使用相同的帐户登录两个存储库,但出现Maven错误
repositories.repository.id must be unique
。该如何解决
答案 0 :(得分:1)
摘自Repositories section of pom.xml文档:
id,名称:id用于在许多存储库中唯一地标识该存储库,并且该名称是人类可读的形式。
因此,该ID应该是唯一的。
在我们的情况下,在settings.xml中,我们有多个服务器定义,它们具有相同的凭据但具有不同的id值。
答案 1 :(得分:0)
我也在使用Nexus Repository,但没有遇到问题。
检查我的pom.xml
文件:
POM.XML
<distributionManagement>
<repository>
<id>nexus</id>
<name>maven-releases</name>
<url>http://IP:PORT/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus</id>
<name>comquent</name>
<url>http://IP:PORT/repository/maven-artifact/</url>
</snapshotRepository>
</distributionManagement>
LINUX-JENKINS命令
通过在我的Jenkins管道中键入sh "mvn deploy -Dmaven.test.skip=true"
,工件和罐子将正确保存在存储库中。
提示
请小心,因为很多时候您想重新上传工件或发行版(顺便说一句,发行版是不好的策略)。因此,您需要从Nexus存储库中启用重新部署功能。这只是一个单击选项。您还将找到here。
希望我能帮上忙!