Как увеличить память PermGen для eclipselink StaticWeaveAntTask - PullRequest
0 голосов
/ 17 февраля 2010

Мы используем Eclipselink и нам нужно сплести код, чтобы ленивая выборка работала со свойством.

Во время процесса переплетения я получаю следующую ошибку:

weave:  

BUILD FAILED  
java.lang.OutOfMemoryError: PermGen space  

У меня есть следующие задачи в моем файле сборки ant:

<target name="define_weave_task" description="task definition for EclipseLink static weaving">  
   <taskdef name="eclipse_weave" classname="org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask"/>  
</target>  

<target name="weave" depends="compile,define_weave_task" description="weave eclipselink code into compiled classes">  
   <eclipse_weave source="${path.classes}" target="${path.classes}">  
       <classpath refid="compile.classpath"/>  
   </eclipse_weave>  
</target>  

Это былоотлично работает в течение длительного времени.Теперь, когда количество кода, которое нужно соткать, увеличилось, я получаю ошибку PermGen.Я хотел бы иметь возможность увеличить количество пермского пространства.

Если бы я выполнял компиляцию, я мог бы увеличить пространство perm с помощью аргумента компилятора, такого как <compilerarg value="-XX:MaxPermSize=256M"/>, но это не является допустимым аргументом для переплетения eclipselink.Как мне поднять пермское пространство для плетения?

Ответы [ 2 ]

1 голос
/ 17 февраля 2010

Если вы запускаете задачу Ant "в той же JRE, что и в Eclipse", тогда вам нужно запустить Eclipse с ожирением.

0 голосов
/ 05 мая 2010

Ответ - установить параметр max perm memory в переменной среды ANT_OPTS перед запуском ant.

export ANT_OPTS="-XX:MaxPermSize=256m"<br>

...