2010-07-21 91 views
2

我有一個創建自定義類加載器的模塊。因此,應該使用模塊路徑以及所有依賴關係創建類加載器。用於部署和測試的maven類路徑生成

我正在尋找一種方法,使其在開發和生產環境中與此機制一起高效工作。

我認爲構建可以生成兩個文件列出所有的依賴路徑。 A「開發」文件和「生產」的文件(然後在代碼中,我會選擇基於一些系統屬性正確的文件):

  • 開發:依賴,應在本地Maven倉庫路徑第三方罐或其他模塊的'target \ classes'(這將允許使用IDE進行編譯,並且不需要每次更改的完整版本)
  • 生產:所有jar應該被複制到'lib'文件夾,並且依賴關係應該列出它們沒有完整的路徑)。另外,創建一個超級罐子,然後(?)

所以我在尋找指向插件& POM片段來幫助我。

回答

2

一些提示:

  • 對於dev的一部分,Maven Dependency Plugindependency:build-classpath可以幫助(和支持,並將輸出寫入文件)。另一個選擇是使用Maven AntRun插件,它可以訪問Maven runtime classpath,應該很容易將屬性寫入文件。

  • 對於prod部分,我假設你會使用Maven Assembly Plugin或Shade Plugin或其他等價物,我想知道你是否不能在MANIFEST.MF中生成類路徑條目並依賴它。

+0

確實依賴:build-classpath寫「dev」路徑(「target \ classes」)還是隻寫回購路徑?我可以指示jar插件生成manifest.mf,但我認爲路徑將會是回購路徑 – IttayD 2010-07-22 03:14:08

+0

@IttayD:不,「dependency:build-classpath」不包含「target/classes」(爲什麼沒有你試試?)。關於MANIFEST.MF,類路徑條目不應該指向repo路徑(否則你的jar將不可移植)。無論如何,我已經添加了另一個(可能更好)的建議。 – 2010-07-22 14:49:00