我已经阅读了几篇关于java堆空间内存不足错误的帖子。我正在使用Java Swing并收到错误'java heap space'。然后我尝试使用以下命令从命令提示符运行此jar:
java -Xmx128m -Xms128m -jar jedit.jar
罐子运行得很好。但现在问题是如何通过双击运行此jar文件?我想我必须在META-INF
写一些东西。但我不知道该写些什么。任何人都可以帮助我吗?
答案 0 :(得分:2)
如果您考虑在MANIFEST文件中提供VM参数,则无法执行此操作。这不可能。
而是可以使用可执行包装器,它允许您提供VM参数和其他启动参数,如Launch4j。
答案 1 :(得分:2)
由于这是一个Swing应用程序,获得额外内存(以及一大堆其他好东西)的最佳途径是使用Java Web Start部署它。
JWS提供了许多吸引人的功能,包括但不限于启动屏幕,桌面集成,文件关联,自动更新(包括延迟下载和程序控制更新),本地分区和&按平台,体系结构或Java版本下载的其他资源,运行时环境的配置(最低J2SE版本,运行时选项, RAM 等),使用扩展轻松管理公共资源..
JWS提供了一种在基于JNLP的启动文件中指定内存要求的方法。因此,您可以使用相同的Jars但使用不同的启动文件来提供具有不同内存分配的程序版本。