36

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

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

谢谢,

4

9 回答 9

54

设置环境变量:

MAVEN_OPTS="-Xmx512m"
于 2009-12-17T07:32:52.503 回答
19

这取决于哪个 JVM 实例需要更多内存。例如,如果测试是分叉的(默认情况下),并且由于 OutOfMemoryError 而失败,那么尝试配置插件来启动它们:

        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <argLine>-Xmx1024m</argLine>
            </configuration>
        </plugin>
于 2009-12-18T08:46:35.157 回答
9

不仅是堆内存。您还必须增加 perm 大小才能解决 maven 中的异常,在环境变量中使用这些变量。

变量名:MAVEN_OPTS
变量值:-Xmx512m -XX:MaxPermSize=256m

于 2012-01-19T05:48:26.247 回答
6

有时,如果您在 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 抛出

于 2016-08-02T10:19:37.587 回答
1

在类 Unix 系统上:

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

内存不足错误

于 2017-03-02T11:34:30.387 回答
0

或者set MAVEN_OPTS="-XX:MaxPermSize=256m"在从命令提示符运行时使用。

于 2015-11-25T10:25:28.010 回答
0

我总是在 ubuntu 上将它与我的 shell 一起使用:

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=500m"
于 2017-01-11T16:50:35.423 回答
-1

尝试更改或更新您的 Maven 安装。我遇到了这个问题,但我通过升级 Maven(3.0.5 到 3.3.3)解决了这个问题。

于 2016-03-10T12:49:49.793 回答
-5

我遇到了同样的问题。根据此链接,它可能有助于更改 jvm 实现 - 这可以通过设置 JAVA_HOME 系统变量来完成。

例如,在提到 ibm jvm 或 oracle jrockit 的链接中尝试:

SET JAVA_HOME=C:\bea10\jrockit160_22
mvn install
于 2011-04-05T14:00:13.610 回答