GWT 2.5.0编译器异常

5

我们团队试图从GWT 2.4.0升级到2.5.0,但现在我们面临一个问题——编译器抛出了异常。这是编译器日志:

绑定:user.agent=safari 绑定:compiler.useSourceMaps=true 绑定:locale=en 编译模块app.m8.web.AGM 验证单元: 在第一次编译中忽略了3个具有编译错误的单元。使用-strict或-logLevel设置为TRACE或DEBUG编译以查看所有错误。 [ERROR]发生内部编译器异常com.google.gwt.dev.jjs.InternalCompilerException:在访问期间发生意外错误。在JVisitor.java的com.google.gwt.dev.jjs.ast.JVisitor.translateException(JVisitor.java:109)处,com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:276)被接受。 在com.google.gwt.dev.jjs.ast.JReturnStatement.traverse(JReturnStatement.java:39)处,com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170)被接受。 在JBlock.java的com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)处,com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)被接受。 在UnifyAst.java的com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:902)中,com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:426)被接受。 java.lang.ClassCastException:com.google.gwt.dev.jjs.ast.JMethod无法转换为com.google.gwt.dev.jjs.ast.JConstructor在JNewInstance.java的com.google.gwt.dev.jjs.ast.JNewInstance.getTarget(JNewInstance.java:56)处引起。在Contact_FieldSerializer.java(65)处的com.google.gwt.dev.jjs.ast.JNewInstance和在Contact_FieldSerializer.java(65)处的com.google.gwt.dev.jjs.ast.JReturnStatement引起错误。在Contact_FieldSerializer.java(64)处的com.google.gwt.dev.jjs.ast.JBlock和在Contact_FieldSerializer.java(64)处的com.google.gwt.dev.jjs.ast.JMethodBody引起错误。在Contact_FieldSerializer.java(64)处的public static Contact instantiate(SerializationStreamReader streamReader); com.google.gwt.dev.jjs.ast.JMethod [ERROR]编译器返回false

有人可以提供一个解决方案吗?


你能否在 com.google.gwt.dev.jjs.ast.JNewInstance#getTarget 中设置一个断点,以查看 JMethod 代表哪个方法?同时检查一下你的 Contact_FieldSerializer#instantiate 代码。 - Thomas Broyer
1
感谢评论,Thomas。原因已经找到,现在一切正常工作。这个方法实际上并不是一个方法。我们有一个类Contact实现Serializable。它必须包含默认构造函数,但是它实际上有公共的void Contact(){}。那就是问题所在。问题已经解决。 - user1865729
您是否介意提交一个问题(如果可能,请附上一些可重现的代码):https://code.google.com/p/google-web-toolkit/issues/entry - Thomas Broyer
https://code.google.com/p/google-web-toolkit/issues/detail?id=7824 - rjdkolb
1个回答

8

删除位于项目文件夹中的**下的文件

gwt-unitCache

**是指你的项目文件夹。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接