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