首页 > 代码库 > Ant报错之out of memory
Ant报错之out of memory
用Ant打包一个比较大的项目的时候,遇到OutOfMemory的问题,求助于Google和百度,网上的解决方案很多,但是个人觉得不够详细全面,我的问题需要综合两种方法才解决。把方案记下来,以期帮助大众点滴。
错误类型
Ant编译任务报错OutOfMemoryError,提示信息显示是Java Heap Space。
解决方案
综合网上的两种方法,我的需要两个都用。分析一下,无非就是Java程序内存分配太小,不够用了。Java对应的调整参数为非标准参数-Xmx。
- 修改Ant命令脚本
找到Ant的安装目录,进入bin目录,根据不同的环境,修改对应的脚本。Linux下面,打开ant脚本, 在ant_exec_args=
之前加一行代码export ANT_OPTS=-Xmx1024m
;Windows下面打开ant.bat, 在@echo off
之后加一行代码set ANT_OPTS=-Xmx1024m
。 - 更改Ant的javac指令参数
新增以下参数fork="true" memoryMaximumSize="1024m"
。注意fork="true"必须与memoryMaxinumSize 配套使用。fork="true"是指单独起一个java进程才处理编译任务。
总结
Java的内存不够错误,都是调整java命令参数。-Xmx调整堆的最大值,与java heap space错误对应;-XX:PermSize<=size>调整永久区的最大值,与java permanent space错误对应,例如-XX:PermSize=64m,把永久区调整为64M。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。