使用ant给项目发布环境时,任务卡住不动也不报错,在网上查询了些资料,估计是ant执行任务时虚拟机内存不够用。
针对这个问题,可以通过以下两种方法解决:
1)在javac节点处设置fork属性,同时指定memoryinitialsize、memorymaximumsize属性。例:
<javac fork="true"
srcdir="${basedir}/src"
destdir="${basedir}/build/classes"
classpath="${project.classpath}"
memoryinitialsize="256m"
memorymaximumsize="256m">
</javac>
说明:
-fork:没有指定fork属性(默认为false),javac命令将和ant在同一个进程中执行,同时javac被分配的内存只有64MB,如果指定fork属性为true,javac命令将和ant不在同一个进程中执行,分配内存的大小将为memoryinitialsize、memorymaximumsize指定的大小。
-memoryinitialsize:javac占用的最小内存。
-memorymaximumsize:javac占用的最大内存。
2) 第二种方法不用修改build.xml文件,通过在Ant执行时,指定虚拟机的内存来解决,不过这样ant和javac还将在同一个进程中执行,具体方法在[ANT_HOME]\bin\ant.bat文件中增加set ANT_OPTS="-Xms256m -Xmx256m" 。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)