2012-05-22 54 views
1

我遇到了install4j v4.2.8運行正常的情況,並在使用GUI時以及從命令行調用install4jc時生成安裝程序,但在下列消息通過install4j ant任務調用:從ant調用install4j編譯器導致PermGen OutOfMemory錯誤

install4j: compilation failed. Reason: java.lang.OutOfMemoryError: PermGen space 

使用VisualVM的,我確定Ant任務派生一個單獨的JVM,它出現時PermGen的使用率命中大約88MB失敗。 install4j ant任務文檔沒有提及能夠將VM參數(例如-XX:MaxPermSize = 256MB)傳遞給分叉的JVM,但我想知道是否可以選擇這種類型的東西。

回答

3

您可以在文件[install4j installation directory] ​​/bin/install4j.vmoptions中調整命令行編譯器的VM參數。只需在那裏增加-Xmx值並添加-XX:MaxPermSize VM參數。

在install4j 5.0.7之前,有一個與在.vmoptions文件中包含相關文件相關的錯誤。對於這些較舊的版本,請將install4j.vmoptions中的include添加到install4j.vmoptions,並直接在其中添加VM參數。

+0

謝謝。 install4jc.vmoptions文件引用install4j.vmoptions文件,該文件依次設置4GB的最大堆和256MB的MaxPermSize。這就解釋了爲什麼GUI和install4jc正在工作。我如何告訴install4j ant任務查看這些文件? –

+0

install4j ant任務調用install4jc.exe,因此應用相同的設置。也許ant任務指向一個不同的install4j安裝? –

+0

嗯......我指的是C:\ Program Files \ install4j \ bin \ ant.jar,它位於盒子上唯一的install4j目錄內。還有其他建議嗎?這是否是自v4.2.8以來已修復的錯誤? –

相關問題