Arun Kumar Mudraboyina
Arun Kumar Mudraboyina

Reputation: 779

GWT compilation fails after upgrading sdk from gwt2.5.1 to gwt2.6.1

I'm developing a mobile app using gwt and mgwt. Currently I'm using gwt2.5.1 and mgwt1.1.2, I want to upgrade my gwt sdk to gwt2.6.1. In this process I'm getting error at my project compilation time. here is the error description ...

[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)

I pulled the latest gwt sdk from here. http://www.gwtproject.org/versions.html I checked gwt-dev.jar and gwt-user.jar , both are from gwt2.6.1 library. I event tried by placing the guava-gwt.jar and guava-r09.jar in my classpath.But still getting same. I have no idea on root cause of this error. Please help me on this.

thanks,

Arun Kumar

Upvotes: 0

Views: 1218

Answers (3)

farji driss
farji driss

Reputation: 11

this arrive when you change the gwt version and skip repleacing gwt servlet jars, in my case i upgrad from 2.5.1 to 2.7.0, and i have forgotten to repleace the old jar file in WEB-INF/lib (gwt-servlet.jar and gwt-servlet-dep.jar), you must repleace those jar and then that works again like old time buth with a new version

Upvotes: 1

Thomas Broyer
Thomas Broyer

Reputation: 64541

You need to clean the unit cache when changing GWT version. By default it's a .gwt-unitcache folder next to your war folder (configurable via system properties, or depending on your build tool: e.g. the gwt-maven-plugin has properties to configure the persistent unit-cache dir)

Upvotes: 0

Andrei Volgin
Andrei Volgin

Reputation: 41089

  1. Find com.google.gwt.thirdparty.guava import in your code and delete it. Replace it with the import from the latest guava file.

  2. Always use the latest version. Currently, it's guava's 18th release.

Upvotes: 2

Related Questions