堆 Space Netbeans 之外的问题 IDE

Heap Space Issue outside Netbeans IDE

编辑:我最终结合了两个建议的答案,从而回答了我自己的问题,这是下面被接受的问题,希望这对以后的其他人有帮助!

我 运行宁 32 位 Java 1.8.0_40 在 Windows 7.

我在 Netbeans 8.0 中创建了一个程序,并将 VM 选项调整为 -Xms512m -Xmx2048m。

程序 运行 在 Netbeans IDE 环境中运行得很好,但是在尝试 运行 Netbeans 之外的程序时,我遇到了堆 space内存错误。

编辑:我通过 Netbeans 在编译时为项目创建的 .jar 文件启动程序。

我已转到 Java 控制面板并将相同的“-Xms512m -Xmx2048m”信息应用到运行时参数。我仍然遇到堆 space 内存不足错误。

有什么建议吗?我可以从这里去哪里?我是否错过了确保 Netbeans 之外的运行时环境中有足够内存的步骤?

您在 netbeans 中使用的 VM 选项也可以在命令行中使用,即

java -Xms512m -Xmx2048m  -jar yourprg.jar

还有 JVM options 可用。

由于您正在构建一个独立的 JAR 文件,因此似乎没有一种干净的方法可以将此类选项包含在您的 JAR 中(有些人已经问过 here and here 但没有明确的答案)。对于您的情况,我的解决方案通常是赠送一些带有适当 -Xms 和 -Xmx 参数的 shell 脚本,以及我的 JAR 文件。

我结合了这两个答案。结果是我必须使用引号括起来的完全限定名称来执行命令,因为其他人将使用这个程序,所以我能够创建一个 .bat 文件来执行命令。 最终的 .bat 文件最终看起来像这样:

java -Xms512m -Xmx2048m -jar "T:\Netbeans Projects\DataLoader\dist\DataLoader.jar"

感谢 Jorge_B 和 Sanj 的帮助!希望这对以后的其他人有所帮助!