上周给公司的一个项目分支打包手机后台代码,使用的是idea自带的ant编译打包,结果死活报错:
GC overhead limit exceeded
看样子是jvm的heap不够,然后我直接在idea的compiler设置里修改heap,加大到2g,但是依然报这个错,google了半天都是网上的那几种方法,没什么效果,有点抓狂了,急着发更新,没辙,只能先去睡觉了。
第二天突然想到,使用idea自带的ant编译打包,ant也是个java程序,是不是在运行ant的时候,heap参数太小了呢?赶紧打开idea的ant参数配置界面:
坑,还真是运行ant时,heap设置太小了,idea默认才给了128M,如果遇到大点的项目不但可能报GC overhead limit exceeded,还会影响编译打包速度。最后,把Maximum heap改为2048,Maximum stack size改为1024,重新打包,没有报错了。
后记:
没有找到在哪里可以指定idea给所有ant项目设置一个默认的heap大小,谁要是知道在哪里,希望能告知下,谢谢。