[英]Maven - multiple private repositories in Artifactory
我已經有一個項目正在從Artifactory的私有存儲庫中下載.jar捆綁軟件,並且我正在嘗試添加另一個Maven將從其下載常規Maven依賴項的存儲庫。
我已將存儲庫標簽添加到我父母的POM中
<repository>
<id>MyId-1</id>
<url>https://artifactory-url/artifactory/Myfolder-1/</url>
<layout>default</layout>
</repository>
到settings.xml
<server>
<id>MyId-1</id>
<username>{username}</username>
<password>{password}</password>
</server>
但是仍然找不到我期望的依賴項。
同樣在我的settings.xml中,已經定義了Artifactory的代理鏡像:
<mirrors>
<mirror>
<id>MyId-2</id>
<mirrorOf>central</mirrorOf>
<name>MyName-2</name>
<url>https://artifactory-url/artifactory/Myfolder-2/</url>
</mirror>
</mirrors>
當我將鏡像的URL更改為預期的URL時:
https://artifactory-url/artifactory/Myfolder-1/
Maven成功下載了我期望的依賴項,但沒有下載所有其他jar。
我還嘗試將另一個鏡像添加到我的settings.xml中,並且我的mirrors標簽看起來像:
<mirrors>
<mirror>
<id>MyId-2</id>
<mirrorOf>central</mirrorOf>
<name>MyName-2</name>
<url>https://artifactory-url/artifactory/Myfolder-2/</url>
</mirror>
<mirror>
<id>MyId-1</id>
<mirrorOf>*</mirrorOf>
<name>MyName-1</name>
<url>https://artifactory-url/artifactory/Myfolder-1/</url>
</mirror>
</mirrors>
但是maven忽略了它,嘗試進行mvn install時出現錯誤:
Could not find artifact {my-artifact}:pom:{version} in artifactory (https://artifactory-url/artifactory/Myfolder-2/)
The POM for {my-artifact}:jar:{version} is missing, no dependency information available
使用多個存儲庫的最佳實踐是在Artifactory中配置虛擬存儲庫。 然后,您可以在此虛擬存儲庫中聚合所有遠程和本地存儲庫,並將Maven“ settings.xml”指向該虛擬存儲庫。 您可以從此處下載所有依賴項和jar。 有關虛擬存儲庫詳細信息,請訪問JFrog的wiki頁面在這里 。
好像鏡像標簽弄亂了一切。 解決此問題的方法:刪除了中央鏡像,並將兩個帶有jar的文件夾添加到活動配置文件中,所以現在我在settings.xml中的存儲庫標記為:
<repository>
<id>MyId-1</id>
<url>https://artifactory-url/artifactory/Myfolder-1/</url>
</repository>
<repository>
<id>central</id>
<url> https://artifactory-url/artifactory/Myfolder-2/ </url>
<repository>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.