我重定向到一個Artifactory的所有Maven倉庫的訪問具有以下~/.m2/settings.xml
:如何獲取Maven項目層次結構的所有遠程存儲庫?
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- unclear what version changes -> use 1.1.0 because it's higher -->
<servers>
<server>
<id>central</id>
<username>admin</username>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
</server>
</servers>
<mirrors>
<mirror>
<id>artifactory</id>
<name>artifactory</name>
<mirrorOf>*</mirrorOf>
<url>https://[hostname]:[port]/artifactory/remote-repos/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>artifactory</id>
<repositories>
<repository>
<id>central</id>
<name>remote-repos</name>
<url>https://[hostname]:[port]/artifactory/remote-repos</url>
<snapshots>
<enabled>false</enabled>
<updatePolicy>interval:25200</updatePolicy>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<name>remote-repos</name>
<url>https://[hostname]:[port]/artifactory/remote-repos</url>
<snapshots />
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>remote-repos</name>
<url>https://[hostname]:[port]/artifactory/remote-repos</url>
<snapshots>
<enabled>false</enabled>
<updatePolicy>interval:25200</updatePolicy>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>snapshots</id>
<name>remote-repos</name>
<url>https://[hostname]:[port]/artifactory/remote-repos</url>
<snapshots />
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>
,因而必須被一個項目(及其子項目)指定的額外遠程存儲庫添加到Artifactory的實例。我目前使用
find . -name pom.xml -exec grep -B 5 -C 5 '<repository>' {} +
如果URL是一個變量並在其他地方聲明並且不會跳過重複項,那麼它不是非常方便。這不是世界上最糟糕的事情,但也許有一個可以改進的地方。
下不起作用:
mvn versions:display-dependency-updates
不顯示遠程倉庫mvn dependency:list-repositories
只工作到如果啓用了該代理第一依賴不能取出,使我有圖從哪裏得到它,加上研究遠程存儲庫artifactory的或移動~/.m2/settings.xml
一邊 - 除上述
該解決方案的SHO find
命令不太方便它包括所有子項目中的所有存儲庫和兒童子項目等。
它使得很多意義上的解決方案不需要直接從遠程存儲庫直接下載依賴關係,而無需代理服務器如果可能的話,我想立即通過Maven代理轉移它們 - 但這不是要求。
運行一些庫的依賴可能被宣佈。這將使你下載這些依賴關係來找到所需的所有存儲庫.. –
@StanislavBashkyrtsev我不明白你的意思是「一些存儲庫可以在依賴項中聲明」(POM的「dependencies」部分?) 。 –
你有依賴關係。依賴有它自己的pom。在那個pom中你可能有倉庫部分。要知道你首先必須下載該依賴項。 –