2009-12-17 65 views
31

我正在用「mvn install」編譯一個開源項目,但以java.lang.OutOfMemoryError: Java heap space結束。我試圖執行java -Xmx256m,但輸出是java摘要,表明它是一個無效的命令。Maven拋出「java.lang.OutOfMemoryError」

我正在使用jdk1.5.0_08,有任何想法爲什麼會發生這種情況?

感謝,

+2

它是開放的問題;)的答案可能是MAVEN_OPTS = 「 - Xmx513m」 等;) – cetnar 2009-12-17 11:37:59

回答

50

設置環境變量:

MAVEN_OPTS="-Xmx512m" 
+12

有時也不錯延長燙髮內存大小 - MAVEN_OPTS = 「 - Xmx512m -XX:MaxPermSize參數=256米」 獨 – cetnar 2009-12-18 10:55:58

+2

設置MAVEN_OPTS如果構建在運行單元測試時失敗,則不夠用。在這種情況下,您可能必須明確配置maven-surefire-plugin的「argLine」。 – 2014-01-13 02:29:41

+1

我在mvn install上遇到這個錯誤,使用「mvn install -DMAVEN_OPTS = -Xmx1024m」解決了我的問題! – Surekha 2014-11-07 19:47:59

18

這要看JVM實例需要更多的內存。 作爲例子,如果測試分叉(默認),並由於失敗的OutOfMemoryError然後嘗試配置插件,它推出他們:

 <plugin> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <argLine>-Xmx1024m</argLine> 
      </configuration> 
     </plugin> 
-5

我經歷了同樣的問題。根據this link它可能有助於更改jvm實現 - 這可以通過設置JAVA_HOME系統變量來完成。

嘗試例如在鏈路提到IBM JVM或Oracle JRockit的:

SET JAVA_HOME=C:\bea10\jrockit160_22 
mvn install 
9

不僅堆內存。你必須增加perm的大小來解決maven的異常 在環境變量中使用這些變量。

變量名:MAVEN_OPTS
變量值:-Xmx512m -XX:MaxPermSize參數=256米

+0

如何獲得'Xmx'和'MaxPermSize'的當前值?畢竟,如果不知道他們已經設置了什麼,我就無法增加價值。 – ArtOfWarfare 2013-10-11 15:01:38

+0

我不確定MaxPermSize,但Xmx通常是物理內存的四分之一。同樣,這可能會因JVM的實現和/或JVM的「服務器」,「客戶端」模式而異。 – 2014-01-13 02:33:54

+0

-bash:export:'-XX:MaxPermSize = 256m':不是有效的標識符 – user2568374 2017-01-19 21:12:53

0

可選地使用從set MAVEN_OPTS="-XX:MaxPermSize=256m"命令提示運行時。

-1

嘗試更改或更新您的Maven安裝。我有這個問題,但我通過升級Maven(3.0.5到3.3.3)來解決它。

0

我總是和我的殼在Ubuntu使用:在Unix的

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=500m" 
相關問題