我在Windows 7上运行32位Java 1.8.0_40。
我在Netbeans 8.0中创建了一个程序,并将VM选项调整为-Xms512m -Xmx2048m。
该程序在Netbeans IDE环境中运行良好,但是在尝试在Netbeans之外运行程序时,遇到堆空间内存不足错误。
编辑:我正在通过Netbeans编译时为项目创建的.jar文件启动程序。
我已经转到Java控制面板并将相同的“-Xms512m -Xmx2048m”信息应用于运行时参数。我仍然遇到堆空间内存不足错误。
有什么建议吗?我在哪里可以离开?我是否错过了确保Netbeans之外的运行时环境中有足够内存的步骤?
答案 0 :(得分:4)
答案 1 :(得分:2)
由于您正在构建一个独立的JAR文件,看起来没有一种干净的方法可以在JAR中包含这些选项(有些人在没有明确答案的情况下询问了here和here )。在您的情况下,我的解决方案通常是给出一个带有正确的-Xms和-Xmx参数的shell脚本以及我的JAR文件。
答案 2 :(得分:1)
我做了两个答案的组合。它最终是我必须使用引号括起来的完全限定名来执行命令,因为其他人将使用这个程序,我能够创建一个.bat文件来执行此操作。 最终的.bat文件最终看起来像这样:
java -Xms512m -Xmx2048m -jar "T:\Netbeans Projects\DataLoader\dist\DataLoader.jar"
感谢Jorge_B和Sanj的帮助!希望这将有助于其他人!