2017-02-21 57 views
1

不幸的是,我的項目有一個從未發佈到任何Maven存儲庫的外部依賴關係。我能得到它的唯一方法是從github直接下載(他們將二進制文件推送到github)。告訴maven從給定的URL獲得JAR依賴關係

一種(壞)方法是手動下載jar並將其提交/推送到我的代碼庫(git)中。它不會幫助我在我的本地二進制存儲庫中手動部署此工件,因爲我與無法訪問我的私有二進制回購的外部貢獻者共享此項目。

我想知道maven是否有更好的方法來處理這個問題? (鑑於我不能將這個神器上傳到我的回購或公共回購)。

我知道npm允許從URL獲得一些依賴關係。 maven是否也支持它?

+1

爲什麼下載jar並將其提交到您的repo是一種糟糕的方式?它有一些優點:工件獲取Maven座標,它始終可用並且不會「神奇地」改變。你可能不需要經常這樣做。另一種方法是檢出git存儲庫並自行構建和部署工件。 –

+0

由於他提到的原因,我們做了@JFMeier一直提到的像這些工件的東西。我們在Nexus中創建了一個單獨的回購站,以託管不在我們可以代理的公共Maven存儲庫中的第三方工件。 – user944849

+0

@JfMeier - 我還不夠清楚。我的意思是將jar提交到源代碼庫(git)是一個壞主意。當然,將它部署到本地私有Maven存儲庫(Nexus/Artifactory)是一個好主意,但在這種情況下 - 它不會幫助我,因爲我正在與外部貢獻者共享此項目。我編輯了我的帖子,以便更清楚。謝謝! –

回答

0

AFAIK沒有很好的方法來處理這個問題。你可以

  • 編寫一個腳本,下載jar並將其安裝到本地Maven倉庫中。這個腳本可以通過你的代碼庫共享。
  • 包括下載並將工件安裝到Maven構建過程中(通過編寫Maven插件或使用antrun插件)
  • 在您的團隊中的每個人都可以訪問的雲中建立一個連接。