GWT编译挂起

时间:2012-06-04 07:44:13

标签: gwt

我在Eclipse(Indigo,GWT 2.4,Linux Ubuntu)中创建了一个Google Web Toolkit项目,做了一些更改(主要是,重命名了默认模块并添加了一个新模块),然后单击“GWT Compile”,然后什么都没发生 - 汇编刚刚被绞死。没有输出;右下角的进度条显示“0%”。

当我使用“loglevel = all”时,我得到一行输出“正在检查更新”,然后它就会挂起。

我尝试删除缓存 - 没有变化。

我尝试创建一个新项目并复制源文件 - 没有变化。

借助此链接:http://comments.gmane.org/gmane.org.google.gwt/70561我在编译器中添加了“-XdisableUpdateCheck”;现在编译完成了,但是,当我尝试在开发模式下运行时(“运行为 - > Web应用程序”),它说“开发模式正在加载......”并挂起。

我甚至不知道如何开始调试这个。请给我一些提示!

7 个答案:

答案 0 :(得分:1)

我遇到了类似的问题。以下是我的事件序列: 从SVN中检出GWT项目 - >尝试了Google-GWT Compile - >给出了入口点模块 - >我的日志级别是信息和输出样式Obfoscated - >命中编译..没有任何事情发生,除了进度条停留在0%。 尝试谷歌并以多种方式找出解决方案,但无法得到正确的答案。 一招有效 - >我从eclipse工作区中删除了该项目,并将其作为现有项目从磁盘重新导入。这次GWT编译工作。 :)

为什么有效? - >当我们从eclipse工作区删除项目时,与该项目关联的所有库都会被取消绑定并从类路径中删除。当您再次导入同一个项目并尝试在将所需的库添加到类路径之前编译GWT时,它将起作用。真正的冲突是GWT库和JBoss 5.0库。看起来他们需要解决GWT2.4中的一些普通错误。在类路径中,如果在GWT库之前的jboss和Web App库之前,编译就会卡住。

如果您遇到类似问题,请从类路径中删除jboss和Web应用程序库并编译GWT模块,然后添加那些已删除的库,以便编译项目中的JAva源代码。祝你好运!

答案 1 :(得分:0)

在完成本教程后,我遇到了同样的问题:http://www.javacodegeeks.com/2010/12/securing-gwt-apps-with-spring-security.html

最后,我添加到构建路径(本教程中提到的spring-context)中的是一个狡猾的外部JAR。我抓了另一份副本,一切都很好。

答案 2 :(得分:0)

这是这个的FIX,因为我们无法继续完成每次需要编译GWT时将jBoss库放入和取出的整个业务。 问题是com.google.gwt.dev.javac.JdtCompiler.getCompilerOptionsJdtCompiler.java)指的是CompilerOptions,正如命运所具有的那样,它引用了jasper-jdt.jar(位于jboss库中)而不是gwt中的实现具体实施。从jBoss库中获取此jasper-jdt.jar,您应该已经完成​​所有设置。如果您绝对需要jasper-jdt.jar中的任何课程,请不要担心;除此之外,还有大量的替代Jasper罐子可以满足您的需求。

答案 3 :(得分:0)

试试这个:右击 - > google-> gwt compile->点击提前(下)和 在Additional compiler参数中添加:

-XdisableUpdateCheck

答案 4 :(得分:0)

将选项-XdisableUpdateCheck提供给GWT Compiler解决了我的死锁问题。谢谢你的提示。

使用GWT 2.5.0和java:

$ java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)


$ cat /etc/issue
Fedora release 18 (Spherical Cow)
Kernel \r on an \m (\l)


$ uname -a
Linux myhostname 3.9.4-200.fc18.x86_64 #1 SMP Fri May 24 20:10:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

答案 5 :(得分:0)

我可以通过将优化级别(控制台参数-optimize 8设置为8)来解决该问题,这意味着最多可以对代码进行8次优化。默认值为9,导致进行优化直到没有任何变化为止。似乎有在少数情况下会导致无限循环。

也可以在GitHub上看到此问题:

https://github.com/gwtproject/gwt/issues/9452#issuecomment-259088434

答案 6 :(得分:0)

一个老问题,但是今天我的一个同事也刚遇到这个问题。事实证明,他在项目共享包中使用客户端程序包中的类(自己的类和... client.rpc.IsSerializable)。 结果,GWT构建在编译排列0时冻结。我假设它陷入了在编译共享类和客户端类之间的无限循环中。 从共享类中删除所有使用客户端类的用法都有帮助。