задача муравья junitreport, дающая java.lang.OutOfMemoryError: пространство кучи Java - PullRequest
1 голос
/ 15 ноября 2010

Я запускаю тесты junit из ant-скрипта. Тесты выполнены успешно, поэтому ant переходит к задаче junitreport для создания html-отчета. Эта задача не выполняется с java.lang.OutOfMemoryError: Java heap space error.

Как мне увеличить размер кучи для этой задачи? Или есть другой способ устранить эту ошибку?

Некоторая дополнительная информация:

Работало нормально, пока я не добавил 40 дополнительных тестов

Я посмотрел результаты теста xml, и он выглядит разумным, то есть он не полон длинных сообщений об ошибках.

Ответы [ 4 ]

3 голосов
/ 15 ноября 2010

вы можете использовать переменную среды ANT_OPTS для увеличения размера кучи, которую использует муравей

2 голосов
/ 29 мая 2013

Эта ошибка возникла в ошибка ANT 34342 . По общему мнению, это вызвано чрезмерным потреблением памяти в XSLT, используемом для генерации отчета, и это НЕ БУДЕТ исправлено в ANT.

Что мне помогло, так это увеличение максимального размера кучи, передаваемой муравью, например -Xmx3304m. Как уже упоминалось в некоторых других ответах, вы можете использовать ANT_OPTS для передачи максимального размера кучи муравью.

Что касается фактического значения максимального размера кучи, рекомендуется, чтобы оно составляло 1/4 от физической памяти или 1 ГБ, в зависимости от того, что меньше. Возможно, вам придется выйти за пределы 1 ГБ, чтобы избежать этой ошибки памяти, однако. См. Руководство по сборщику мусора на веб-сайте Oracle.

0 голосов
/ 25 января 2012

«maxmemory="###m», похоже, работает ТОЛЬКО если вы используете fork, если вы не используете fork (как я), он не привыкнет, вы должны использовать ANT_OPTS для изменения кучи.

0 голосов
/ 15 ноября 2010

Вы можете использовать набор maxmemory в самой задаче junit.

<junit printsummary="yes" fork="true" haltonfailure="no" showoutput="yes" maxmemory="512m">

Как документы объясняют ,

Максимальный объем памяти для выделения на разветвленную ВМ. Игнорируется, если вилка отключен. Примечание: если вы получаете java.lang.OutOfMemoryError: куча Java пространство в некоторых ваших тестах, то вы нужно поднять размер как maxmemory = "128й"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...