【问题标题】:[ERROR] [mv_main] - Out of memory; to increase the amount of memory, use the -Xmx flag at startup (java -Xmx128M ...)[错误] [mv_main] - 内存不足;要增加内存量,请在启动时使用 -Xmx 标志(java -Xmx128M ...)
【发布时间】:2025-11-25 19:15:01
【问题描述】:

在使用 Eclipse IDE 进行代码更改后,在 GWT DevMode 中重新加载我的应用程序时,我不断收到以下错误。

[ERROR] [mymodule] - Failed to create an instance of 'com.myapp.client.widget.MyCustomWidget' via deferred binding 
    [ERROR] [mymodule] - Out of memory; to increase the amount of memory, use the -Xmx flag at startup (java -Xmx128M ...)

我第一次运行它,没有问题,但是当我在浏览器上进行刷新(以获取代码更改)时,会弹出此错误。

有人有解决办法吗?

【问题讨论】:

  • 你做了什么改变?不管它是什么,它使用了太多的内存。
  • 代码更改是小错误修正,不会影响大小。令人费解的是,它是第一次加载,而不是第二次加载。让我怀疑 GWT DevMode 或 Eclipse 中是否存在内存泄漏。

标签: eclipse gwt dev-mode


【解决方案1】:

我以前见过这个错误。对于任何重要的 GWT 模块,默认的 JVM 堆内存设置都太低了。您可以通过修改用于启动 GWT 开发模式的 Eclipse 启动配置来增加它。在启动配置屏幕中,选择参数选项卡并将其添加到“VM 参数”字段中:

-Xmx512M

【讨论】:

  • 我已经增加了 Eclipse 的设置如下: --launcher.XXMaxPermSize 2048M -showsplash org.eclipse.platform --launcher.XXMaxPermSize 2048m -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms1g -Xmx2g 同样适用GWT DevMode 设置。我认为 Eclipse 或 GWT DevMode 的“调试为”选项中存在错误。我注意到这个问题不会出现在“运行方式”中。在“调试为”期间没有任何断点似乎也可以减少问题。