调试 GWT 应用程序时 Eclipse 挂起

2024-04-19

我们正在使用 JAVA GWT-P 框架(版本 2.4)开发 Web 应用程序。我们使用 Eclipse(版本 3.7)Indigo 作为开发 GUI。当我们调试应用程序时,Eclipse 通常会挂起,令人惊讶的是,这是一种随机行为。

而且这种情况不仅仅发生在程序的一部分中。任何时候,当我们调试时,Eclipse 都会挂在不同的模块中。

为了解决这个问题,我们尝试使用不同的操作系统,例如Windows XP(开发GUI:Eclipse版本3.7 Indigo),Fedora Version 16(带开发GUI:Eclipse版本Helios Service Release 2),Cent OS(带开发GUI:Eclipse版本Helios 服务版本 2)。但没有运气。

任何人都可以帮我决定我们应该使用哪个操作系统、Eclipse 或版本,以便能够解决悬而未决的问题吗?


使用至少 8G RAM、四核的机器进行 GWT 开发。任何低于这一点的行为都将是灾难性的且毫无成效的。

理想情况下是 8 核、12 GB。

  • 在启动时增加 Eclipse jvm 虚拟机堆大小最大值。 默认的eclipse启动是256M或512M。至少应该是768M。我试过1024M 仅比 768M 稍有差别。我发现900M好像是 在我的案例中使用最多的。

  • 您可能还必须增加永久代内存分配。我认为 permgen 空间用于存储类定义,并且永远不会 垃圾收集。我想当我的日食无限期地挂起时 当没有更多的permgen空间来存储新的class defn时。

我从来没有必要重新定义 Eclipse 的堆栈空间分配。

您可以通过 google 查找 jvm 启动参数来定义内存分配。例如-Xmx等

  • 最初仅针对单个浏览器进行开发。决定使用 FF 或 Chrome 作为您的开发浏览器。然后将入口点 gwt.xml 调整为 设置该浏览器的用户代理属性。谷歌在gwt上设置 属性用户代理。我发现仅针对一种浏览器进行编译, 编译速度大大加快。

  • 永远不要存储您的项目、源文件、资源或库 由编译器在网络或 USB 驱动器中访问。你所有的 可编译/可包含的资源应该位于您的本地驱动器上。

尝试使用 Maven 或其他一些工具进行依赖管理,这样您就不需要通过网络访问您的 jar 或依赖项目。

  • 永远不要让你的发展战略随着时间的推移而走下坡路。 取决于实时项目的依赖关系。拥有 50 人或更多的工作空间 项目是灾难,意味着开发团队陷入危机。 强制和持久的编译、项目扫描 eclipse 背景对 eclipse 的性能造成巨大影响。

  • 尝试禁用尽可能多的验证。例如,禁用 html 和 JavaScript 验证。

如果您有大量服务器端项目...... 您需要重新架构您的开发策略,将 50 - 100 个项目聚集到项目包中,以便每个项目包的可编译/可验证项目成员不超过 20 个(理想情况下少于 5 个项目)。每个包都按版本冻结并打包为 jar。仅使用 jar 进行开发依赖项。

您的程序员需要学会不要有在包含 200 个项目的工作空间上工作的冲动。增强功能是为每个项目包的 bugzilla 保留的。拥有 200 个项目工作空间是糟糕的项目管理。让 eclipse 时不时变慢会浪费程序员的时间。

  • 有足够的临时空间(或者对于 Windows,有足够的闲置空间) 用户磁盘)。我遇到过磁盘空间不足的情况 编译器缓冲/缓存导致速度变慢和挂起。拥有 5G 空闲空间是最小的——越多越好,以便 无需清除垃圾箱或搜索要删除的文件或 清除 GWT 编译器生成的临时文件。 5G仍有闲置空间 很不方便。

据我所知,Windows 7/Vista 或 Linux 都没有太大的性能差异,只是 Eclipse 在 Windows 上启动速度似乎慢得多。

  • 因此,如果您知道如何调整您的防病毒软件,也许您应该 告诉防病毒软件跳过扫描工作区和项目文件夹。

  • 除非你有 8 核 12GB 机器,否则你应该禁用大部分 Windows 空气动力学,透明度。但你需要保持 Windows 合成 (否则你会因为看到不好的字体而毁掉你的视力)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调试 GWT 应用程序时 Eclipse 挂起 的相关文章

随机推荐