2011-12-12 102 views
2

我需要依賴一個不在任何maven倉庫中的jar。我目前只是有一個系統的依賴是這樣的:使用url而不是文件添加系統maven依賴項

<dependency> 
    <groupId>com.nexua</groupId> 
    <artifactId>register</artifactId> 
    <version>1.5</version> 
    <scope>system</scope> 
    <systemPath>${basedir}/lib/register.jar</systemPath> 
</dependency> 

是有一些方法可以讓我有一個文件鏈接到一個網址,而不是本地文件,所以它會保持最新既然這樣我有嗎?當我想要更新時手動替換文件。

回答

1

您最好使用內部(本地)存儲庫。這在«Introduction to Repositories»更詳細地描述。基本上,你只需要在你的內部存儲庫下面用正確的文件名(在Maven約定下)將你的工件複製到適當的目錄下,Maven就可以在不需要使用<systemPath>的情況下將它拾取。

這將需要您在更新時手動替換文件。 (實際上,要正確執行此操作,需要在內部存儲庫中包含帶有單獨版本後綴的新版本,並更新pom.xml中的<version/>。)唯一更好的解決方法是讓其他人管理依賴關係 - 無論是在Maven中央存儲庫還是您從pom.xml引用的其他存儲庫位置。 (事實上​​,你可以設置你自己的 - 無論是爲你自己還是你的工作組,我建議。)

+0

閱讀此答案,我可能會認爲URL不能用於路徑。有沒有人知道這是不是真的? – Chris

相關問題