Ant报错之out of memory

用Ant打包一个比较大的项目的时候,遇到OutOfMemory的问题,求助于Google和百度,网上的解决方案很多,但是个人觉得不够详细全面,我的问题需要综合两种方法才解决。把方案记下来,以期帮助大众点滴。

错误类型

Ant编译任务报错OutOfMemoryError,提示信息显示是Java Heap Space。

解决方案

综合网上的两种方法,我的需要两个都用。分析一下,无非就是Java程序内存分配太小,不够用了。Java对应的调整参数为非标准参数-Xmx。

  1. 修改Ant命令脚本
    找到Ant的安装目录,进入bin目录,根据不同的环境,修改对应的脚本。Linux下面,打开ant脚本, 在ant_exec_args=之前加一行代码export ANT_OPTS=-Xmx1024m;Windows下面打开ant.bat, 在@echo off之后加一行代码set ANT_OPTS=-Xmx1024m
  2. 更改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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值