我将带领我提出的一些具体问题,并按照上下文跟踪它们:
我正在运行Eclipse Juno。最近我团队的另一名成员将我们的项目从GWT 2.4升级到2.5,我注意到的第一个影响是GWT代码验证会占用资源,导致我的工作区停止,最终因java堆错误而失败 - 迫使我杀死日食。
请注意,我应该在我的eclipse.ini
中配置了大量堆,特别是:-Xms256m -Xmx1536m
然而,要重新获得对我的工作区的控制权,我取消选中Project --> Build Automatically
,配置eclipse以使用Preferences --> General --> Show Heap Status
显示堆使用情况,并将eclipse.ini
中的堆大小提高到-Xms2048m -Xmx3072m
就像一个实验,看看会发生什么。
执行此操作后,我再次打开eclipse并允许它自动构建,在进行GWT代码验证阶段时仔细关注进度条,以及堆大小:它爬,爬,爬,终于在2G以北的某处消耗了高峰。最终,它完成了(尽管花了太长时间,完全没有合理的时间)。完成后的一分钟内,一个巨大的垃圾收集活动将堆降低到仅仅300兆字节。
我在进度条下看到的内容更有趣:GWT代码验证似乎正在扫描整个项目中的每个*.java
文件:不只是client
和{{1}中的文件包,但一切。我看到了GWT编译器在一百万年后永远看不到的类名。
所以看起来,虽然GWT编译器足够聪明,可以从入口点GWT模块文件开始并从那里搜索出来,但GWT代码验证过程似乎会对所有内容进行强力搜索。
如果它正在进行任何类加载,那么上帝会帮助它。其中一些旧的服务器端类包含我祖先的古老罪恶,连接到静态初始化器中的外部资源等等。
我是否可以通过某种方式将此验证配置为对其扫描的内容更加简洁?
答案 0 :(得分:1)
我正在浏览Eclipse Validator文档。它声明项目构建验证器可以允许可配置的过滤器。 http://www.eclipse.org/webtools/wst/components/validation/ValidationOverview.html
但是我找不到任何与GPE源代码相关的内容@ http://code.google.com/p/google-plugin-for-eclipse/source/search?q=validator&origq=validator&btnG=Search+Trunk
与此同时,我们坚持使用偏好设置从eclipse中禁用所有验证 - >验证 - >暂停所有验证器。
答案 1 :(得分:0)
您应该禁用已编译的JavaScript文件的验证。这有助于解决Eclipse性能问题:https://stackoverflow.com/a/19909401/1040124