errai 2.0.1-SNAPSHOT + GWT 2.4 = java.lang.ClassNotFoundException: com.google.common.reflect.TypeToken
manstis May 21, 2012 5:47 AMHi,
I posted this to the IRC channel and include here to maximise exposure:-
Using 2.0.1-SNAPSHOT and GWT2.4 fails to compile our web-app:-
[INFO] Compiling module org.drools.guvnor.FastCompiledGuvnorNGShowcase
[ERROR] SLF4J: Class path contains multiple SLF4J bindings.
[ERROR] SLF4J: Found binding in [jar:file:/home/manstis/.m2/repository/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
[ERROR] SLF4J: Found binding in [jar:file:/home/manstis/.m2/repository/org/jboss/weld/servlet/weld-servlet/1.1.6.Final/weld-servlet-1.1.6.Final.jar!/org/slf4j/impl/StaticLoggerBinder.class]
[ERROR] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
[INFO] Scanning for additional dependencies: jar:file:/home/manstis/.m2/repository/org/jboss/errai/errai-ioc/2.0.1-SNAPSHOT/errai-ioc-2.0.1-SNAPSHOT.jar!/org/jboss/errai/ioc/client/Container.java
[INFO] Computing all possible rebind results for 'org.jboss.errai.ioc.client.Bootstrapper'
[INFO] Rebinding org.jboss.errai.ioc.client.Bootstrapper
[INFO] Invoking generator org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator
[INFO] Generating Extensions Bootstrapper...
[INFO] Checking ErraiApp.properties for configured types ...
[ERROR] java.lang.NoClassDefFoundError: com/google/common/reflect/TypeToken
[ERROR] at org.jboss.errai.codegen.meta.impl.java.JavaReflectionMethod.getParameters(JavaReflectionMethod.java:64)
[ERROR] at org.jboss.errai.enterprise.rebind.JSR299IOCExtensionConfigurator.configure(JSR299IOCExtensionConfigurator.java:53)
[ERROR] at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCBootstrapGenerator.initializeProviders(IOCBootstrapGenerator.java:333)
[ERROR] at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCBootstrapGenerator._generate(IOCBootstrapGenerator.java:258)
[ERROR] at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCBootstrapGenerator.generate(IOCBootstrapGenerator.java:186)
[ERROR] at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator.generateIOCBootstrapClass(IOCGenerator.java:94)
[ERROR] at org.jboss.errai.ioc.rebind.ioc.bootstrapper.IOCGenerator.generate(IOCGenerator.java:65)
[ERROR] at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)
[ERROR] at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)
[ERROR] at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
[ERROR] at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
[ERROR] at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
[ERROR] at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
[ERROR] at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:257)
[ERROR] at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(DistillerRebindPermutationOracle.java:91)
[ERROR] at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.doFindAdditionalTypesUsingRebinds(WebModeCompilerFrontEnd.java:96)
[ERROR] at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.process(AbstractCompiler.java:254)
[ERROR] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444)
[ERROR] at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(AbstractCompiler.java:173)
[ERROR] at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.compile(AbstractCompiler.java:288)
[ERROR] at com.google.gwt.dev.jdt.AbstractCompiler$Sandbox$CompilerImpl.access$400(AbstractCompiler.java:139)
[ERROR] at com.google.gwt.dev.jdt.AbstractCompiler.compile(AbstractCompiler.java:588)
[ERROR] at com.google.gwt.dev.jdt.BasicWebModeCompiler.getCompilationUnitDeclarations(BasicWebModeCompiler.java:97)
[ERROR] at com.google.gwt.dev.jdt.WebModeCompilerFrontEnd.getCompilationUnitDeclarations(WebModeCompilerFrontEnd.java:52)
[ERROR] at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:569)
[ERROR] at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33)
[ERROR] at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)
[ERROR] at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)
[ERROR] at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)
[ERROR] at com.google.gwt.dev.Compiler.run(Compiler.java:232)
[ERROR] at com.google.gwt.dev.Compiler.run(Compiler.java:198)
[ERROR] at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
[ERROR] at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
[ERROR] at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
[ERROR] at com.google.gwt.dev.Compiler.main(Compiler.java:177)
[ERROR] Caused by: java.lang.ClassNotFoundException: com.google.common.reflect.TypeToken
[ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[ERROR] at java.security.AccessController.doPrivileged(Native Method)
[INFO] [ERROR] Error generating extensions
[ERROR] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[ERROR] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
The missing class, I suspect has been removed from com.google.guava r06 (used by Errai's SNAPSHOT).
Adding an artifical dependency in our POM for com.google.guava 12.0 solves the problem.
With kind regards,
Mike