2010-03-01 42 views
0

我需要從非標準佈局倉庫下載文件。從非標準佈局倉庫下載Maven2依賴項

標準庫佈局groupId>/<artifactId>/<version>/<artifactId>-<version>.<packaging>不過,我需要下載以下文件:

http://hudson.myserver.com:10000/repo/ocp-services/schemas/trunk/201/archive/schemas/dist/schemas.jar 

其中OCP-服務是有效的的groupId,模式是的artifactId和201是版本。

我該如何添加一個依賴到這個文件,並將其下載到我的項目和本地存儲庫?

這是一個Hudson文件存儲庫,如果這有幫助,但它是第三方很難讓他們改變任何位置。

回答

1

一種選擇是註冊自定義的ArtifactRepositoryLayout實現並使用此自定義佈局聲明存儲庫。我從來沒有這樣做,但應該有可能,檢查這blog post

第二種選擇是將Maven配置爲通過某種自定義代理(例如Servlet)併爲該特定依賴項重寫URL。

在這兩種情況下,恐怕Maven會抱怨缺少的元數據(「在Maven中一個依賴不僅僅是一個JAR文件」,見3.5.5. Maven's Dependency Management),因爲哈德森文件庫只是一個Maven庫。也許這可以通過編程來處理。但正如我所說,我從來沒有這樣做過。

第三個選擇是問建設JAR的項目需要到deploy它(在maven的意義上)。那當然是最好的解決方案。

最後一個選項是隻需下載此JAR並在本地存儲庫中手動install it。如果這是一個選項,那就去做吧。

0

您是否嘗試過加入這你的pom.xml:

<dependencies> 
      <dependency> 
       <groupId>ocp-services</groupId> 
       <artifactId>schemas</artifactId> 
       <version>201</version> 
       <type>jar</type> 
      </dependency> 
     </dependencies> 

,或者帕斯卡說:手動安裝

不工作