Maven бросает "java.lang.OutOfMemoryError" - PullRequest
33 голосов
/ 17 декабря 2009

Я компилирую проект с открытым исходным кодом с помощью "mvn install", но в итоге получил java.lang.OutOfMemoryError: Java heap space. Я попытался выполнить java -Xmx256m, но вывод был краткий обзор Java, который указал, что это недопустимая команда.

Я использую jdk1.5.0_08, есть идеи, почему это происходит?

Спасибо

Ответы [ 9 ]

52 голосов
/ 17 декабря 2009

Установить переменную среды:

MAVEN_OPTS="-Xmx512m"
18 голосов
/ 18 декабря 2009

Это зависит от того, какой экземпляр JVM требует больше памяти. Например, если тесты разветвлены (по умолчанию) и не пройдены из-за OutOfMemoryError, попробуйте настроить плагин, который их запускает:

        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <argLine>-Xmx1024m</argLine>
            </configuration>
        </plugin>
9 голосов
/ 19 января 2012

Не только куча памяти. Вы должны увеличить размер перми и разрешить это исключение в Maven. используйте эти переменные в переменной окружения.

имя переменной: MAVEN_OPTS
значение переменной: -Xmx512m -XX: MaxPermSize = 256 м

4 голосов
/ 02 августа 2016

Иногда, если вы используете другие программы внутри maven, например, в интеграционных тестах или Surefire, MAVEN_OPTS недостаточно. Помимо MAVEN_OPTS, попробуйте использовать JAVA_TOOL_OPTIONS. Это помогло мне в Maven при запуске некоторых интеграционных тестов:

export JAVA_TOOL_OPTIONS="-Xmx2048m -XX:MaxPermSize=1024m -Xms2048m"

Ссылка: osx maven, выполняющий тесты Исключение: java.lang.OutOfMemoryError, выброшенный из UncaughtExceptionHandler в потоке "main"

1 голос
/ 02 марта 2017

в Unix-подобной системе:

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

OutOfMemoryError

0 голосов
/ 11 января 2017

Я всегда использую это с моей оболочкой в ​​Ubuntu:

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=500m"
0 голосов
/ 10 марта 2016

Попробуйте изменить или обновить установку Maven. У меня была эта проблема, но я решил ее, обновив Maven (3.0.5 до 3.3.3).

0 голосов
/ 25 ноября 2015

В качестве альтернативы используйте set MAVEN_OPTS="-XX:MaxPermSize=256m" во время работы из командной строки.

0 голосов
/ 05 апреля 2011

У меня возникла такая же проблема. Согласно эта ссылка может помочь изменить реализацию jvm - это можно сделать, установив системную переменную JAVA_HOME.

Попробуйте, например, в ссылке, упомянутой ibm jvm или oracle jrockit:

SET JAVA_HOME=C:\bea10\jrockit160_22
mvn install
...