2017-06-29 19 views
1

我在我的settings.xml上有以下配置以獲取組織的內部工件。如果在內部存儲庫中不可用,需要從MavenCentral下載工件

<mirrors> 
    <mirror> 
     <id>internal-repository-1</id> 
     <url>http://local.host/repository/internal/</url> 
     <mirrorOf>*</mirrorOf> 
    </mirror> 
</mirrors> 

通常情況下,它具有構建內部項目的所有工件。但我想從MavenCentral下載一些其他工件。由於我使用上面的鏡像配置,因此它不會檢查MavenCentral上的工件。

我想知道有沒有辦法從MavenCentral下載器物,如果它不是在我們的內部資料庫可通過修改settings.xml

我已經請參考下面的問題,並沒有幫助。

maven repository mirrors

Can I add maven repositories in the command line?

回答

1

如果你的內部回購不希望代理到Maven中央回購您可以禁用中央要求它像:

<mirrors> 
    <mirror> 
     <id>internal-repository-1</id> 
     <url>http://local.host/repository/internal/</url> 
     <mirrorOf>*,!central</mirrorOf> 
    </mirror> 
</mirrors> 

確保您有聲明的最後一個版本庫列表作爲Maven的中央資料庫從上到下3次搜索,並希望中央成爲後備。

+0

非常感謝!有效。 –

1

你的內部存儲庫可能是Nexus或Artifactory的。只需將MavenCentral作爲代理存儲庫添加到您的內部存儲庫中即可。然後,您將能夠通過內部存儲庫訪問MavenCentral中的所有內容。

+0

我沒有權限在內部存儲庫中完成更改。有沒有辦法使用settings.xml來做到這一點? –

0

如果有人有同樣的問題,將以下代碼塊放到settings.xml也工作。

<profiles> 
    <profile> 
     <id>profile-1</id> 
     <repositories> 
      <repository> 
       <id>internal-repository-1</id> 
       <url>http://local.host/repository/internal/</url> 
      </repository> 
     </repositories> 
    </profile> 
</profiles> 
<activeProfiles> 
    <activeProfile>profile-1</activeProfile> 
</activeProfiles> 
相關問題