2012-11-30 63 views
4

我们的团队试图从GWT 2.4.0升级到2.5.0,但现在我们正面临这个问题 - 编译器会引发异常。这里是编译器的日志:GWT 2.5.0编译器异常

绑定:user.agent =狩猎绑定:compiler.useSourceMaps =真 绑定:区域设置= EN编译模块app.m8.web.AGM验证 单位: 忽略3个单位第一遍编译错误。使用-strict编译或使用-logLevel设置为TRACE或DEBUG以查看所有 错误。 [错误]发生内部编译器异常 com.google.gwt.dev.jjs.InternalCompilerException:访问期间出现意外错误 。 com.google.gwt.dev.jjs.ast.JVisitor.translateException(JVisitor.java:109) at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:276) 在 com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265) 在com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:116)在 com.google.gwt.dev.jjs.ast.JReturnStatement.traverse(JReturnStatement.java:39) at com.google.gwt.dev.jjs.ast.JModVisitor $ ListContextImmutable.traverse(JModVisitor.java:170) 在 com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.j)com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336) ava:83)at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361) at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java :273) at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:137)at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:133 )at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:82) at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361) at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273) at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265) at com.g oogle.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:426) at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:395)at com.google。 gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361) 在 com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273) 在 com.google。 gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265) at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:902) at com.google.gwt。 dev.jjs.impl.UnifyAst.exec(UnifyAst.java:627)at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:624) at com.google.gwt.dev.jjs .JavaScriptCompiler.precompile(JavaScriptComp iler.java:33) 在com.google.gwt.dev.Precompile.precompile(Precompile.java:278)处 COM com.google.gwt.dev.Precompile.precompile(Precompile.java:229)。 google.gwt.dev.Precompile.precompile(Precompile.java:141)at com.google.gwt.dev.Compiler.run(Compiler.java:232)at com.google.gwt.dev.codeserver.Recompiler。编译(Recompiler.java:89) at com.google.gwt.dev.codeserver.ModuleState。(ModuleState.java:54) at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java: 88) at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:51) 引起:java.lang.ClassCastException: com.google.gwt.dev.jjs。ast.JMethod不能转换为 com.google.gwt.dev.jjs.ast.JConstructor在 com.google.gwt.dev.jjs.ast.JNewInstance.getTarget(JNewInstance.java:56) 在 融为一体。 google.gwt.dev.jjs.impl.UnifyAst $ UnifyVisitor.endVisit(UnifyAst.java:275) 在 com.google.gwt.dev.jjs.ast.JNewInstance.traverse(JNewInstance.java:86) 在 com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361) at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273) .. 。31更多 Contact_FieldSerializer.java(65)处的[错误]: com.google.gwt.dev.jjs.ast.JNewInstance Contact_FieldSerializer.java(65)上的[ERROR]: com.google.gwt.dev.jjs.ast.JReturnStatement Contact_FieldSerializer.java(64)上的[错误]: com.google.gwt.dev.jjs.ast。 JBoss Contact_FieldSerializer.java(64)上的[ERROR]: com.google.gwt.dev.jjs.ast.JMethodBody Contact_FieldSerializer.java(64)处的[错误]:public static Contact instance(SerializationStreamReader streamReader); com.google.gwt.dev.jjs.ast.JMethod [错误]编译器返回false

任何人都可以提出一个解决办法?

+0

你能放一个断点'com.google.gwt.dev .jjs.ast.JNewInstance#getTarget'来查看'JMethod'代表什么方法?同时检查你的'Contact_FieldSerializer#instantiate'代码。 –

+1

感谢您的评论,托马斯。原因被发现,现在一切正常。这种方法实际上并不是一种方法。我们有一个类实现Serializable。它必须包含默认构造函数,但它具有public void Contact(){}。这是原因。问题已经结束。 – user1865729

+0

您是否介意提交问题(如果可能,请重新编码):https://code.google.com/p/google-web-toolkit/issues/entry –

回答

7

在**

GWT-unitCache删除文件

**这是目前在项目文件夹

+0

谢谢,为我工作。 – doright