2012-11-30 80 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