Maven抛出“java.lang.OutOfMemoryError”

时间:2009-12-17 07:30:33

标签: java maven-2 out-of-memory

我正在使用“mvn install”编译一个开源项目,但结果是java.lang.OutOfMemoryError: Java heap space。我试图执行java -Xmx256m,但输出是java简介,表明它是一个无效的命令。

我正在使用jdk1.5.0_08,为什么会发生这种情况?

谢谢,

9 个答案:

答案 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"

参考: osx maven running tests Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"

答案 4 :(得分:1)

在类Unix系统上:

export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=512m"

OutOfMemoryError

答案 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