0

我们正在使用 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"/> 但这似乎不是 eclipselink 编织的有效参数。

我怎样才能增加编织的烫发空间?

4

2 回答 2

1

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

于 2010-02-17T20:13:10.803 回答
0

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

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

于 2010-05-05T17:24:42.837 回答