我正在使用“mvn install”编译一个开源项目,但结果是java.lang.OutOfMemoryError: Java heap space
。我试图执行java -Xmx256m
,但输出是java简介,表明它是一个无效的命令。
我正在使用jdk1.5.0_08
,为什么会发生这种情况?
谢谢,
答案 0 :(得分:52)
设置环境变量:
MAVEN_OPTS="-Xmx512m"
答案 1 :(得分:18)
这取决于哪个JVM实例需要更多内存。 例如,如果测试是分叉的(默认情况下),并且由于OutOfMemoryError而失败,那么请尝试启动它们的configure插件:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Xmx1024m</argLine>
</configuration>
</plugin>
答案 2 :(得分:9)
不仅是堆内存。您还必须增加perm大小以解决maven中的异常 在环境变量中使用这些变量。
变量名称:MAVEN_OPTS
变量值:-Xmx512m -XX:MaxPermSize = 256m
答案 3 :(得分:4)
有时候,如果你在maven中使用其他程序,比如在集成测试或Surefire中,MAVEN_OPTS是不够的。除了MAVEN_OPTS之外,尝试使用JAVA_TOOL_OPTIONS。在运行一些集成测试时,这对我在Maven中起了作用:
export JAVA_TOOL_OPTIONS="-Xmx2048m -XX:MaxPermSize=1024m -Xms2048m"
答案 4 :(得分:1)
答案 5 :(得分:0)
或者在从命令提示符运行时使用set MAVEN_OPTS="-XX:MaxPermSize=256m"
。
答案 6 :(得分:0)
我总是在ubuntu上用我的shell:
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=500m"
答案 7 :(得分:-1)
尝试更改或更新Maven安装。我有这个问题,但我通过升级Maven(3.0.5到3.3.3)解决了这个问题。
答案 8 :(得分:-5)
我遇到了同样的问题。根据{{3}},它可能有助于改变jvm实现 - 这可以通过设置JAVA_HOME系统变量来完成。
例如在提到的ibm jvm或oracle jrockit:
链接中尝试SET JAVA_HOME=C:\bea10\jrockit160_22
mvn install