如何为eclipselink StaticWeaveAntTask增加PermGen内存

时间:2010-02-17 20:04:15

标签: jpa ant eclipselink

我们正在使用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错误。我希望能够增加烫发空间的数量。

如果我正在进行编译,我可以通过编译器参数(例如<compilerarg value="-XX:MaxPermSize=256M"/>)启动perm空间,但这似乎不是eclipselink编织的有效参数。

如何为编织提高烫发空间?

2 个答案:

答案 0 :(得分:1)

如果您在“与Eclipse相同的JRE中”运行Ant任务,那么Eclipse本身就必须启动肥胖的permgen。

答案 1 :(得分:0)

答案是在运行ant之前在ANT_OPTS环境变量中设置max perm memory参数。

export ANT_OPTS="-XX:MaxPermSize=256m"