今天,在使用ANT构建工具构建Java EE 应用程序的时候,编译过程中给哥来了一个内存溢出。
问题是,同样的脚本,不同的项目,一个成功,一个内存溢出。崩溃。
首要任务,那就是看一下build.xml文件对应的文件行,正好是JAVAC处:<javac srcdir="${src.dir}" includeantruntime="false" destdir="${webapp.dir}/WEB-INF/classes" debug="${debug}" optimize="${optimize}">
<classpath refid="libclasspath" />
</javac>没有设置编译内存,重新设置一下:
<javac fork="true" memoryMaximumSize="1024m"srcdir="${src.dir}" includeantruntime="false" destdir="${webapp.dir}/WEB-INF/classes" debug="${debug}" optimize="${optimize}">
<classpath refid="libclasspath" />
</javac>方法二:如果是通过bat命令执行ant编译,可以通过bat命令,设置内存值。在调用ant命令编译之前:
set DEBUG_OPTS=-Xms256m -Xmx512m
至于同样的默认参数在不同的项目得到的不同结果,还没有进行深入分析。
能不能这样理解,ant构建不同项目的过程中,实际需要的内存大小与项目相关。
猜测而已,未证实!
本文探讨了在使用ANT构建工具构建JavaEE应用程序时遇到的内存溢出问题,通过调整JAVAC配置和bat命令参数解决了同一脚本在不同项目中的内存分配差异。分析了可能的原因并提出了有效的解决方案。
511

被折叠的 条评论
为什么被折叠?



