从ant调用install4j编译器会导致PermGen OutOfMemory错误

时间:2012-05-22 21:15:27

标签: permgen install4j

我遇到这样的情况:install4j v4.2.8运行正常并在使用GUI时以及从命令行调用install4jc时生成安装程序,但在通过install4j ant任务调用时失败并显示以下消息:

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

使用visualvm,我确定ant任务正在分支一个单独的JVM,当PermGen使用率达到88MB时,它似乎失败了。 install4j ant任务文档没有说明能够将VM args(例如-XX:MaxPermSize = 256MB)传递给分叉的JVM,但我想知道是否可以选择类似的东西。

1 个答案:

答案 0 :(得分:3)

您可以在文件[install4j安装目录] /bin/install4j.vmoptions中调整命令行编译器的VM参数。只需在那里增加-Xmx值并添加-XX:MaxPermSize VM参数。

在install4j 5.0.7之前,存在与.vmoptions文件中包含相关文件相关的错误。对于这些旧版本,请在install4jc.vmoptions中删除include to install4j.vmoptions并直接在那里添加VM参数。