2011-10-26 43 views
14

如何增加m2e Eclipse插件的堆大小?基本上,我試圖使用預裝m2e(用於Eclipse的Maven插件)在STS(SpringSource的Eclipse版本)下使用Cargo和Selenium進行自動化集成測試。在m2e Eclipse插件中增加堆大小

每當我跑

mvn verify 

我得到了臭名昭著的java.lang.OutOfMemoryError:Java堆空間... 63M/63M。所以我先做了一些研究。通過MAVEN_OPTS,Eclipse.ini/STS.ini,運行配置,甚至通過Maven插件通過pom.xml增加內存。沒有改變。相同的錯誤和相同數量的內存63M/63M。

我知道我的項目有效。 POM是正確的。爲什麼?因爲當我使用獨立的Maven運行相同的命令時。與Selenium和Cargo的集成測試工作。其實這裏有最新的輸出(3分鐘前):

[INFO] [beddedLocalContainer] Jetty 8.x Embedded is stopped 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESSFUL 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 4 minutes 24 seconds 
[INFO] Finished at: Wed Oct 26 14:08:16 CST 2011 
[INFO] Final Memory: 70M/149M 
[INFO] ------------------------------------------------------------------------ 

我不問如何提高單機的Maven命令的內存。我特別要求如何增加m2e的堆大小。

注意:默認情況下,m2e Eclipse插件沒有「驗證」目標的快捷方式。你必須通過運行配置(沒有Args選項卡,fyi)創建一個新的。

回答

0

您是否嘗試過爲您的運行配置設置MAVEN_OPTS環境變量?

MAVEN_OPTS="-Xmx768M -XX:MaxPermSize=128m" 

可能是你必須編輯你的系統環境變量,如果在運行配置中設置它沒有幫助。請參閱herehere

+0

是的,我做到了。但是這並沒有影響m2e插件。它確實影響了獨立的Maven插件。 – krams

+0

這對我不起作用... –

0

我遇到過類似的問題。在你的home文件夾的linux或windows上的.mavenrc文件中創建一個名爲mavenrc_pre.bat的文件,並根據需要設置你的maven_opts。 它正在與Eclipse Indigo捆綁在一起的m2e。

+0

我會嘗試這個,一旦我回來工作 – krams

33

使用Maven 2插件時,在eclipse.ini或MAVEN_OPTS環境變量中設置java選項對您的構建沒有任何影響。您需要通過Eclipse中的「編輯配置和啓動」對話框添加一些命令行參數。

「Run As」>「Maven Build」,點擊「JRE」標籤,輸入虛擬機參數例如

-Xms128M -Xmx512M

+1

有無論如何,我們可以永久添加此配置到m2e?這樣我們就不必在每次運行時輸入?/ build? – KyelJmD

+4

是的,您可以通過Eclipse>首選項> Maven>安裝>「嵌入式安裝的全局設置」添加它們。你可以在Eclipse之外指向你的Maven設置。 – crasp

+0

在JBoss Developer Studio 8.1.0.GA中,Preferences> Maven> Installations顯示了兩個Maven Installations:EMBEDDED和WORKSPACE。它們都是灰色的,就像Edit ...按鈕一樣。 – nclark

8

爲貫徹到已接受的答案,當你調用的命令行「MVN」,你真的調用mvn.bat(或mvn.sh)包裝腳本。正是這個包裝腳本在啓動實際的Maven jvm時使用了MAVEN_OPTS env變量。另一方面,m2e想要更多地控制maven jvm的啓動方式,所以它直接在沒有包裝的情況下執行。這就是爲什麼您直接將內存設置添加到m2e運行/調試配置VM參數中,而不是使用MAVEN_OPTS。

如果你想M2E傳遞什麼你已經在MAVEN_OPTS到Maven的JVM,在Eclipse中的「編輯配置,並推出」對話框:

「運行方式」>「Maven構建」,點擊「JRE」標籤,輸入VM args eg

${env_var:MAVEN_OPTS} 
0

你可以在你的pom.xml添加您的內存設置:

<plugin> 
<artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
    ... 
    <fork>true</fork> 
    <meminitial>128m</meminitial> 
    <maxmem>512m</maxmem> 
    ... 
    </configuration> 
</plugin> 

所有Maven的編譯器插件參數的描述是在這裏:link