2012-02-04 81 views
0

我想構建一個依賴於SVNKit的Maven模塊。Maven無法從遠程存儲庫下載

所以,我的pom.xml看起來是這樣的:

<dependencies> 
    <dependency> 
     <groupId>org.tmatesoft.svnkit</groupId> 
     <artifactId>svnkit</artifactId> 
     <version>1.3.7</version> 
    </dependency> 
</dependencies> 

<repositories> 
    <repository> 
     <id>tmatesoft-releases</id> 
     <url>http://maven.tmatesoft.com/content/repositories/releases/</url> 
    </repository> 
</repositories> 

當我嘗試做一個乾淨MVN安裝,它看起來像它attemps尋找到一臺Nexus倉庫,顯然無法找到它。我顯然試圖從遠程存儲庫下載工件:http://maven.tmatesoft.com/content/repositories/releases

我看了看我的〜/ .m2 /文件夾中的settings.xml文件,我發現有一個鏡像看起來像這樣:

<mirror> 
<!--This sends everything else to /public --> 
<id>nexus</id> 
<mirrorOf>*</mirrorOf> 

<url>http://Our_Nexus_Repository</url> 
</mirror> 

我認爲,如果你定義一個<reposotiry>標籤,你的模塊的pom.xml將優先於什麼在你的settings.xml文件中定義。

任何幫助表示讚賞。謝謝。

回答

3

這是因爲鏡子會反映所有的倉庫,:<mirrorOf>*</mirrorOf>

你可以改變取代它像這樣:<mirrorOf>*,!tmatesoft-releases</mirrorOf>

更多信息,請訪問:http://maven.apache.org/guides/mini/guide-mirror-settings.html

+0

感謝您的反饋! – Alex 2012-02-04 05:46:31

+0

@Alex如果答案有幫助,那麼我會建議通過接受答案來獎勵答覆 – 2012-02-04 10:19:12

0

隨着方式,你」在你的settings.xml中使用鏡像語句,你指導maven總是去你的倉庫。如果這確實是您希望的行爲,那麼您應該爲nexus安裝中的tmatesoft-releases存儲庫創建一個代理。

執行此操作的常用方法是爲您想要在nexus安裝中使用的所有發行版設置存儲庫組。然後,只需根據需要向該組添加代理回覆,並且用戶不需要更改其settings.xml即可即時查看您添加的新回購。

+0

感謝您的提示,邁克爾!奇怪的是,我將它作爲代理添加到我們的Nexus repo中,就像您所說的一樣,但是當我嘗試推送到我們的公共存儲庫時,它似乎沒有接受它......奇怪。 – Alex 2012-02-06 09:14:26

+0

這是否解決了您遇到的問題? – Michael 2012-02-06 12:58:26

相關問題