我正在用「mvn install」編譯一個開源項目,但以java.lang.OutOfMemoryError: Java heap space
結束。我試圖執行java -Xmx256m
,但輸出是java摘要,表明它是一個無效的命令。Maven拋出「java.lang.OutOfMemoryError」
我正在使用jdk1.5.0_08
,有任何想法爲什麼會發生這種情況?
感謝,
我正在用「mvn install」編譯一個開源項目,但以java.lang.OutOfMemoryError: Java heap space
結束。我試圖執行java -Xmx256m
,但輸出是java摘要,表明它是一個無效的命令。Maven拋出「java.lang.OutOfMemoryError」
我正在使用jdk1.5.0_08
,有任何想法爲什麼會發生這種情況?
感謝,
設置環境變量:
MAVEN_OPTS="-Xmx512m"
有時也不錯延長燙髮內存大小 - MAVEN_OPTS = 「 - Xmx512m -XX:MaxPermSize參數=256米」 獨 – cetnar 2009-12-18 10:55:58
設置MAVEN_OPTS如果構建在運行單元測試時失敗,則不夠用。在這種情況下,您可能必須明確配置maven-surefire-plugin的「argLine」。 – 2014-01-13 02:29:41
我在mvn install上遇到這個錯誤,使用「mvn install -DMAVEN_OPTS = -Xmx1024m」解決了我的問題! – Surekha 2014-11-07 19:47:59
這要看JVM實例需要更多的內存。 作爲例子,如果測試分叉(默認),並由於失敗的OutOfMemoryError然後嘗試配置插件,它推出他們:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Xmx1024m</argLine>
</configuration>
</plugin>
我經歷了同樣的問題。根據this link它可能有助於更改jvm實現 - 這可以通過設置JAVA_HOME系統變量來完成。
嘗試例如在鏈路提到IBM JVM或Oracle JRockit的:
SET JAVA_HOME=C:\bea10\jrockit160_22
mvn install
不僅堆內存。你必須增加perm的大小來解決maven的異常 在環境變量中使用這些變量。
變量名:MAVEN_OPTS
變量值:-Xmx512m -XX:MaxPermSize參數=256米
如何獲得'Xmx'和'MaxPermSize'的當前值?畢竟,如果不知道他們已經設置了什麼,我就無法增加價值。 – ArtOfWarfare 2013-10-11 15:01:38
我不確定MaxPermSize,但Xmx通常是物理內存的四分之一。同樣,這可能會因JVM的實現和/或JVM的「服務器」,「客戶端」模式而異。 – 2014-01-13 02:33:54
-bash:export:'-XX:MaxPermSize = 256m':不是有效的標識符 – user2568374 2017-01-19 21:12:53
可選地使用從set MAVEN_OPTS="-XX:MaxPermSize=256m"
命令提示運行時。
嘗試更改或更新您的Maven安裝。我有這個問題,但我通過升級Maven(3.0.5到3.3.3)來解決它。
有時候,如果你在maven中使用其他程序,比如在intration測試或surefire中,MAVEN_OPTS是不夠的。除MAVEN_OPTS外,請嘗試使用JAVA_TOOL_OPTIONS。運行一些集成測試時,這奏效了,我在Maven的:
export JAVA_TOOL_OPTIONS="-Xmx2048m -XX:MaxPermSize=1024m -Xms2048m"
我總是和我的殼在Ubuntu使用:在Unix的
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=500m"
它是開放的問題;)的答案可能是MAVEN_OPTS = 「 - Xmx513m」 等;) – cetnar 2009-12-17 11:37:59