2014-10-09 25 views
0

我在構建Maven多模塊項目時遇到問題。我有一個自定義的JRE,在父級別上添加爲System Libary。當我嘗試構建子模塊時,他們沒有從自定義JRE中找到罐子。我應該以某種方式將這個自定義JRE添加到父模塊的POM作爲依賴項,或者什麼纔是正確的配置方式?Maven多模塊項目和自定義JRE

Picture of this project's setup

+0

你能否給它增加一點信息。當你建立項目時,你需要記錄'log'。 – 2014-10-09 12:54:23

+0

您是如何將自定義JRE添加爲「在父級別上作爲系統自由度」的?請顯示您用來執行此操作的POM中的XML代碼。 – 2014-10-09 13:53:50

+0

亞倫,我的術語可能有問題,但看截圖。 – JohnP 2014-10-09 14:10:49

回答

1

JRE和Maven的依賴關係是兩回事,確保你不把它們混合起來。 Maven無法更改JRE,因爲在執行Maven的第一個字節代碼時,JRE已經處於活動狀態(執行Maven的是什麼)。

現在來解決你的問題。

在命令行上,使用環境變量JAVA_HOME告訴Maven要使用哪個Java運行時。在Eclipse中,當你用菜單項之一啓動Maven時,你必須使用「Run - > Run as - > Maven build ...」。對話框中的第二個標籤顯示「JRE」。在這裏,您可以選擇要使用的JRE。

如果您有現有的條目,可以在「啓動配置」對話框(運行/調試菜單和彈出窗口中的最後一個條目)中編輯它們。

最後,確保你給Maven一個完整的SDK;如果您需要編譯Java代碼,純粹的JRE是不夠的。 Java編譯器位於普通SDK中的lib/tools.jar中。

+0

感謝您的幫助,但我仍在掙扎。從子項目中收到「無法找到Javac編譯器」錯誤。如果我創建一個新的項目,其中這個孩子是唯一的模塊(沒有多模塊項目),構建就OK了。 – JohnP 2014-10-09 14:19:26

+2

確保您的自定義JRE包含'tools.jar'。 Maven需要Java編譯器才能工作,並且您的JRE必須提供一個。 – 2014-10-09 15:03:01

+0

我從另一個JRE添加了tools.jar到我的自定義JRE,現在它可以工作。我還學到了有關Maven的其他幾件事。非常感謝亞倫和其他人! – JohnP 2014-10-09 16:45:14