2017-09-20 50 views
0

我是一家軟件產品公司的專業服務顧問。我們的產品提供了Java API,因此可以構建字段自定義。這些擴展依賴於多達50個單獨的JAR文件 - 一些專有於我們的產品,另一些是開源的。如何在Maven插件中動態構建編譯類路徑?

我不想硬編碼在POM有幾個原因的依賴關係 - 主要是因爲每個新版本將取決於略低不同版本的開源文物。當新產品發佈時,我只想指向新的安裝文件夾並重建擴展。

所以,我試圖創建一個Maven插件,需要在安裝文件夾的引用,通過文件夾遞歸,並自動將所有的* .jar文件編譯時類路徑。

我嘗試這樣做:

Map<?, ?> context = getPluginContext(); 
MavenProject maven = (MavenProject) context.get("project"); 
List<String> classpath = maven.getCompileClasspathElements(); 

// start adding additional elements to the classpath 

期間初始化階段片斷執行,但在類路徑的時候恢復開始編制和編譯失敗。我甚至會以正確的方式去做這件事嗎?

回答

0

這聽起來不像要走的路。

而是嘗試分析安裝文件夾是如何組裝的。試着用Maven創建這個安裝文件夾,並提供一個POM和所有使用的依賴關係(BOM - 物料清單)。

然後用這個BOM-POM如在您的擴展依賴(範圍=提供)。

相關問題