首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行swing客户端时出现java内存不足错误

问执行swing客户端时出现java内存不足错误
EN

Stack Overflow用户
提问于 2010-09-14 03:11:49
回答 4查看 1.1K关注 0票数 0

我的可执行swing客户端在从远程机器执行时抛出内存不足异常。但是,使用以下命令从命令行执行客户端(增加堆空间)是可行的。

代码语言:javascript
复制
java -XMx128m -Xms128m -jar myclient.jar

我不希望远程用户通过如上所示的命令行使用我的客户端。那么,我可以在构建可执行文件时设置这个堆空间吗?我正在使用Eclipse的Fat jar插件创建我的可执行Jar。

另外,有没有办法为客户机(Windows/Mac/Linux)设置java堆空间的默认值?

EN

回答 4

Stack Overflow用户

发布于 2010-09-14 03:17:19

虽然我不知道在单个操作系统中设置默认值的方法,但我可以告诉您,命令行是-X命令的唯一位置。在我们的项目中,我们绕过这个问题的方法是给他们一个windows的安装程序,或者为他们构建一个特定操作系统的脚本。对于安装程序,我们使用了NSIS,它似乎工作得很好。

票数 2
EN

Stack Overflow用户

发布于 2010-09-14 03:20:51

我不认为有一种标准的方法可以在应用程序中指定内存设置;java需要以正确的设置启动。带有manifest的jar文件由java加载,此时java已经启动。

不过,您也可以使用安装程序,请参阅建议使用NCIS的this SO question。你也可以使用链接(在Windows上)或bat文件/ shell脚本在Windows上。或者可能是Nexus使用的那种启动器。我用谷歌搜索了一下找到了JSW。

所以,总而言之,你的选择似乎是:

  • 类似于NCIS
  • a包装器的安装程序,类似于JSW
  • 外壳脚本和bat文件
  • 链接文件或类似的(在概念上类似于脚本/bat文件)

我想我会从看JSW开始,因为一些著名的软件,比如Nexus,似乎就在使用它。不过,我不知道它是否能很好地与桌面应用程序配合使用。但是试一试,你就会发现:)

票数 2
EN

Stack Overflow用户

发布于 2010-09-14 03:56:55

您还可以使用像launch4j这样的包装器,它将为大多数OS:es创建可执行文件,并允许您指定VM选项

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3703587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档