2014-08-28 118 views
0

我正在開發一個使用gwt和mgwt的移動應用程序。目前我使用的是gwt2.5.1和mgwt1.1.2,我想將我的gwt sdk升級到gwt2.6.1。在這個過程中,我在編譯項目時遇到錯誤。這裏是錯誤的描述...將sdk從gwt2.5.1升級到gwt2.6.1後,GWT編譯失敗

[ERROR] Unexpected internal compiler error 
java.lang.NoSuchMethodError: com.google.gwt.thirdparty.guava.common.io.Files.hash(Ljava/io/File;Lcom/google/gwt/thirdparty/guava/common/hash/HashFunction;)Lcom/google/gwt/thirdparty/guava/common/hash/HashCode; 
at com.google.gwt.dev.javac.PersistentUnitCache.computePersistentCacheFilenamePrefix(PersistentUnitCache.java:470) 
at com.google.gwt.dev.javac.PersistentUnitCache.<clinit>(PersistentUnitCache.java:114) 
at com.google.gwt.dev.javac.UnitCacheFactory.get(UnitCacheFactory.java:59) 
at com.google.gwt.dev.javac.CompilationStateBuilder.init(CompilationStateBuilder.java:449) 
at com.google.gwt.dev.Compiler.run(Compiler.java:151) 
at com.google.gwt.dev.Compiler.run(Compiler.java:132) 
at com.google.gwt.dev.Compiler$1.run(Compiler.java:99) 
at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55) 
at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50) 
at com.google.gwt.dev.Compiler.main(Compiler.java:106) 

我從這裏拉最新的gwt sdk。 http://www.gwtproject.org/versions.html 我檢查了gwt-dev.jar和gwt-user.jar,兩者都來自gwt2.6.1庫。 我通過將guava-gwt.jar和guava-r09.jar放入我的類路徑中嘗試了我的事件。但仍然變得相同。我不知道這個錯誤的根本原因。請幫助我。

感謝,

阿倫·庫馬爾

回答

2
  1. 找到代碼中com.google.gwt.thirdparty.guava進口並刪除它。用最新的guava文件導入來替換它。

  2. 始終使用latest version。目前,它是番石榴的第18版。

+0

現在看起來如此明顯,現在我讀了它。謝謝。 – tom 2014-12-01 14:47:39

0

您需要在更改GWT版本時清除單元高速緩存。默認情況下,它的旁邊,你戰爭文件夾.gwt-unitcache文件夾(配置通過系統屬性,或者根據您的構建工具:例如gwt-maven-plugin具有屬性來配置持久單元的緩存目錄)

+0

我不是在我的項目中找到.gwt-unitcache文件夾的地方。我在哪裏可以看到它。我正在使用eclipse – 2014-08-28 12:27:39

+0

只需搜索。它應該直接在你的項目輸出文件夾(target/bin)中,如在你的eclipse項目屬性中所定義的那樣... – edbras 2014-08-28 12:59:46

+0

我知道了。感謝你們兩個...... – 2014-08-28 15:36:30

1

抵達,當你更改gwt版本並跳過重新生成gwt servlet jars, 在我的情況下,我從2.5.1升級到2.7.0,並且我忘記了在WEB-INF/lib中補充舊的jar文件(gwt-servlet.jar和gwt -servlet-dep.jar),你必須補充那些罐子,然後像舊時一樣再次運作buth與新版本

+0

這至少解決了我的問題。我沒有更新所有的gwt - *。jar文件只有servlet。 – JRSofty 2017-05-29 11:31:53