2014-08-28 115 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