2011-01-06 5 views
8

Я пытаюсь запустить муравей задачу, однако я получаю следующее сообщение об ошибке:Из ошибки памяти в муравье

[javadoc] javadoc: error - java.lang.OutOfMemoryError: Please increase memory. 
[javadoc] For example, on the Sun Classic or HotSpot VMs, add the option -J-Xmx 
[javadoc] such as -J-Xmx32m. 
[javadoc] 1 error 
[javadoc] 103 warnings 

Я пытался прибегая к помощи, чтобы узнать, как я могу установить это значение, но я не могу найти его , Я попытался

<javadoc maxmemory="256m"> 

Я попытался

export ANT_OPTS=-Xmx256m 

, но я все еще получаю такое же исключение. Я попытался увеличить значение 1024M witouth любого успеха

Update

я решил. Это не имело ничего общего с небольшой памятью. Это был бесконечный цикл в моем поколении javadoc.

+0

Вы, кажется, не хватает рекомендуемую -J в вашем экспорте. – dlamblin

+0

Нет, что не работает –

ответ

13

Я решил.

Это не имело ничего общего с небольшой памятью. Это был бесконечный цикл в моем поколении javadoc.

Правильный способ установки большего количества памяти для муравья - это использовать export ANT_OPTS=-Xmx256m на * nix.

В Windows следуйте usual steps for setting environment variables.

+2

Привет Как вы узнали, что существует бесконечный цикл?. Я сталкиваюсь с аналогичной проблемой, когда вы занимаетесь классом. –

+0

В коде, в котором мы были, где генерируется javadoc, был цикл endlees. –

+0

Не могли бы вы уточнить? Цикл был между ссылками на javadoc? Если да, как вы можете получить больше информации о самом цикле, как можно проследить этот цикл? –

5

Задача javac ant имеет атрибут memoryMaximumSize, который вы должны установить на то же значение, что и для -Xmx.

<javac memoryMaximumSize="256m" ...> 
    ... 
</javac> 

Я должен добавить, что это предполагает, что это действительно задача javac, вызывающая переполнение памяти.

+0

Я пробовал это. Не работает. Такое поведение –

+0

Было ли такое же поведение, потому что объем памяти не изменился там, где он вам нужен, или вы не выделили достаточное количество памяти? Помните также, что изменение максимального объема памяти может по-разному влиять на размеры кучи и стека. Увеличение объема памяти может привести к меньшему количеству стека или кучи в некоторых случаях. Некоторые эксперименты будут необходимы. –

+2

Вышеуказанный вариант должен быть объединен с fork = "true" для работы. Это приведет к запуску javac в отдельном процессе со своими настройками размера кучи. Это также ограничит утечку памяти в реализации javac на собственный дочерний процесс, не затрагивая процесс родительского Ant. – zkarthik

Смежные вопросы