我正在用“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