2016-09-20 66 views
0

我有一組使用自託管Nexus安裝作爲存儲庫以從中下載依賴項的相關項目。所以我安裝在我的~/.m2/settings.xml文件中的以下內容:如何在settings.xml中僅爲某些項目使用<mirrors>和<servers>

<?xml version="1.0" encoding="UTF-8"?> 
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd"> 

    <mirrors> 
    <mirror> 
     <id>central</id> 
     <name>central</name> 
     <url>http://myserver/repository/maven-public/</url> 
     <mirrorOf>*</mirrorOf> 
    </mirror> 
    </mirrors> 

</settings> 

一切正常,只是當我想在同一臺機器上工作的一個項目,是無關的那一套的項目,Maven會嘗試使用Nexus存儲庫下載依賴關係,這在這一點上是不可取的。

我想要去的方法是在我想要使用我的Nexus存儲庫的項目的pom.xml中設置一些東西,但我無法弄清楚。

我正在閱讀有關Maven配置文件,但似乎並不是正確的選擇。 <profiles>應該是<mirrors> from this example的同一級別的標籤,但我怎麼能說這個鏡像應該只適用於某個配置文件(我期望在我的項目的pom.xml中設置誰想要使用該repo) 。

回答

0

您可以覆蓋缺省值並使用-s參數在運行時選擇設置文件:

mvn -s /path/to/alternative/settings.xml package 

如果你使用詹金斯那麼這個答案可能會有所幫助

+0

感謝您的回覆。我只想通過在'settings.xml'或'pom.xml'中設置一些東西來解決這個問題,你知道這是否可能嗎?我們是一個大團隊,我寧願不讓每個人都執行這個命令。 –

相關問題