2010-08-12 25 views
0

我正在爲我的項目編寫一個pom.xml來構建一個jar文件。Iam在maven2中編寫pom.xml以填充jar可以包含所有依賴關係嗎?

現在爲我的源編譯我需要設置一些依賴關係,這是我的整個項目在大約100個jar文件中的公共庫。

所有這些常見的lib我有一個單一的目錄(CommonLib)。

那麼有沒有什麼辦法可以通過引用常用庫的目錄名稱來爲所有這些常見庫設置依賴關係,而不是爲每個單獨的jar文件定義依賴關係。

問候 GNASH-85

+0

不接受沒有答案! – Gopi 2010-08-12 08:54:25

+0

任何人都誤解爲porn.xml? – stagas 2010-08-12 13:44:55

+0

只有每次看到它,從我開始使用Maven開始。 – Curtis 2010-08-16 20:53:40

回答

0

不,那是不可能的。在Maven中,您只能使用來自存儲庫的依賴關係 - 無論是Maven Central還是您自己託管的一個。

你有兩個選擇:

  1. 設置您自己Nexus並上傳所有依賴於它。 (這比聽起來容易,但你需要在某處運行服務器)
  2. 使用mvn install將JAR文件安裝到本地存儲庫 - 但每個開發人員都必須在他使用的每個工作站上執行此操作。你可以爲它創建一個腳本。

就個人而言,我不喜歡依賴像Maven Central這樣的外部資源,所以我通常會將所有依賴關係移動到我自己的存儲庫中。據我所知,Maven3不僅可以從存儲庫獲取依賴關係,還可以從SSH/HTTP/FTP等獲取依賴關係,我期待着這一點。

+0

那麼,您可以使用'file://'和**'http:// ** **(許多FTP站點可以通過HTTP進行瀏覽)使用Maven 2.x從倉庫下載(中央只是一個文件系統由Web服務器提供)。 – 2010-08-12 13:46:26

0

那麼有沒有什麼辦法可以通過引用常用庫的目錄名來設置所有這些常用庫的依賴關係,而不是爲每個單獨的jar文件定義依賴關係。

雖然IS可以使用file-based repository,你仍然需要單獨申報在你的POM中每個依賴性。

作爲一種替代方案,您可以爲您的庫生成MD5校驗和,通過校驗和搜索相應的工件,並生成相應的<dependency>元素。下面的問題,介紹了這種方法(和自動化解決方案):

相關問題