IDEA使用自帶ant插件編譯失敗:系統資源不足

問題

最近參與的一個項目,用的是ant構建。很無奈,其實是我第二次用ant(第一次還是很久以前用來編譯zookeeper源碼的時候)。

在IDEA中配置好項目後,用idea右側的ant插件編譯時,編譯失敗,有以下錯誤信息:

在網上搜了幾個解決方案,基本都說的是配置idea的堆大小。對我這次的問題沒有用,下面是我的Idea的初始配置:

我將最大堆調從1024m修改爲2g, ReservedCodeCacheSize從240m改爲540m,然後把idea中項目編譯分配的堆大小改爲1400m都沒有解決問題。

解決方案

上面的解決方案是不適用於這類問題的,用ant插件編譯的時候,是單獨啓動了一個新的進程,即運行了個單獨的jvm,內存不夠和idea的配置應該是沒有直接關係。

在我思索的過程,想到看下堆棧信息的時候,發現問題所在了。

使用jvisualvm可視化看一下就看見了(內存不足的時候進程很快就退出了,所以可視化可以一直盯着,看見進程啓動的時候快速點擊查看信息)。如下:

這樣問題就很明顯了,最大堆內存爲128m,可能是因爲這個工程有點大,導致內存不足,所以調整一下最大堆內存即可。

調整方法:

彈出屬性設置框的時候,在屬性設置框裏修改最大堆內存(看情況稍爲改大點就行,我直接改成512m了)

再編譯下,ok,編譯完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章