Netbeans IDE之外的堆空间问题

时间:2015-04-21 17:24:12

标签: java ide out-of-memory java-8 netbeans-8

编辑:我最后对两个建议的答案进行了组合,因此回答了我自己的问题,这是下面接受的问题,希望将来能帮助其他人!

我在Windows 7上运行32位Java 1.8.0_40。

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

该程序在Netbeans IDE环境中运行良好,但是在尝试在Netbeans之外运行程序时,遇到堆空间内存不足错误。

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

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

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

3 个答案:

答案 0 :(得分:4)

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

java -Xms512m -Xmx2048m  -jar yourprg.jar

还有更多JVM options可用。

答案 1 :(得分:2)

由于您正在构建一个独立的JAR文件,看起来没有一种干净的方法可以在JAR中包含这些选项(有些人在没有明确答案的情况下询问了herehere )。在您的情况下,我的解决方案通常是给出一个带有正确的-Xms和-Xmx参数的shell脚本以及我的JAR文件。

答案 2 :(得分:1)

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

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

感谢Jorge_B和Sanj的帮助!希望这将有助于其他人!