Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Eclipse中配置GWT代码验证_Eclipse_Gwt_Eclipse Juno_Gwt 2.5 - Fatal编程技术网

在Eclipse中配置GWT代码验证

在Eclipse中配置GWT代码验证,eclipse,gwt,eclipse-juno,gwt-2.5,Eclipse,Gwt,Eclipse Juno,Gwt 2.5,我将首先提出一些具体的问题,然后结合上下文进行讨论: 如何控制eclipse中GWT代码验证的配置 GWT代码验证的作用是什么 当它扫描java类时,是否执行任何类加载 为什么要扫描不在客户端/共享包中的类?我怎样才能让它停止 我正在运行eclipsejuno。最近,我团队的另一位成员将我们的项目从GWT 2.4升级到了2.5,我注意到的第一个影响是GWT代码验证将消耗资源,使我的工作区停止,并最终导致java堆错误,迫使我杀死eclipse 请注意,我在我的eclipse.ini中配置了很

我将首先提出一些具体的问题,然后结合上下文进行讨论:

  • 如何控制eclipse中GWT代码验证的配置
  • GWT代码验证的作用是什么
  • 当它扫描java类时,是否执行任何类加载
  • 为什么要扫描不在客户端/共享包中的类?我怎样才能让它停止
我正在运行eclipsejuno。最近,我团队的另一位成员将我们的项目从GWT 2.4升级到了2.5,我注意到的第一个影响是GWT代码验证将消耗资源,使我的工作区停止,并最终导致java堆错误,迫使我杀死eclipse

请注意,我在我的
eclipse.ini
中配置了很多堆,特别是:
-Xms256m-Xmx1536m

然而,为了重新控制我的工作区,我取消选中了
Project-->Build Automatically
,将eclipse配置为使用
Preferences-->General-->Show heap Status
显示堆使用情况,并将我在
eclipse.ini
中的堆大小增加到
-Xms2048m-Xmx3072m
,作为一个实验,看看会发生什么

完成此操作后,我再次打开eclipse并允许它自动构建,在执行GWT代码验证阶段时,我会仔细关注进度条,以及堆大小:它不断攀升,不断攀升,最终在2G消耗量以北的某个地方达到峰值。最终,它完成了(尽管花了太长时间,根本不是一个合理的时间)。在完成后的一分钟内,一个巨大的垃圾收集事件将堆降低到仅300兆字节

我在进度条下看到的内容更有趣:GWT代码验证似乎正在扫描我整个项目中的每个*.java文件:不仅仅是客户端共享包中的文件,而是所有文件。我看到了GWT编译器在一百万年内永远看不到的类名

因此,虽然GWT编译器足够聪明,可以从入口点GWT模块文件开始搜索,但GWT代码验证过程似乎可以对所有内容进行暴力搜索

如果它在进行任何类加载,上帝会帮助它。这些旧的服务器端类中有一些包含了我祖先的古老罪恶,通过静态初始值设定项和诸如此类的方式连接到外部资源


是否有某种方式可以将此验证配置为对其扫描的内容更加节省

我正在浏览Eclipse验证器文档。它声明项目构建验证器可以允许配置过滤器

但是,我找不到任何与GPE源代码相关的内容@


同时,我们坚持使用Preferences->Validation->Suspend All validator从eclipse禁用所有验证

您应该禁用已编译JavaScript文件的验证。这有助于解决Eclipse性能问题:

这是令人印象深刻的分析。我们只是取消检查并避免了正常自动构建中的GWT验证。首选项->验证->挂起所有验证程序。我们更喜欢GWT编译器在构建机器上进行验证,而不是在工作站上运行GWT验证。我很想看看这个Q/A线程是否有其他的解决方案。