Bug 870349 - Guava versions in Errai and RichFaces are not compatible
Summary: Guava versions in Errai and RichFaces are not compatible
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise WFK Platform 2
Classification: Retired
Component: RichFaces, Errai
Version: 2.1.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ER1
: 2.3.0
Assignee: Brian Leathem
QA Contact: Oliver Kišš
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-10-26 08:35 UTC by Tomas Repel
Modified: 2015-08-02 23:42 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
The RichFaces and Errai frameworks each used a different version of Google Guava, which caused the following error when both frameworks were used in the same project: java.lang.NoClassDefFoundError: com/google/common/reflect/TypeToken In this release, both Richfaces and Errai have been aligned to use the 13.0.1-redhat-1 version of Google Guava, which is also the version used by Red Hat JBoss Enterprise Application Platform 6.1.0.GA. As a result of the version alignment, the error no longer occurs.
Clone Of:
Environment:
Last Closed: 2013-07-16 11:32:23 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RF-12580 0 Major Resolved Guava versions in Errai and RichFaces are not compatible 2013-11-15 08:03:01 UTC

Description Tomas Repel 2012-10-26 08:35:50 UTC
Description of problem:

RichFaces 4.1.3.Final-redhat-1 depends on com.google.guava:guava:11.0.2. This particular version is not compatible with Errai framework that needs guava of version 12.0.

Version-Release number of selected component (if applicable):

RichFaces 4.1.3.Final-redhat-1
Errai 2.1.0.Final-redhat-1

How reproducible:

Always.

Steps to Reproduce:

I discovered this when I tried to deploy Ticket Monster example (2.1.0.ER2 version) with administration pages generated by Forge 1.0.5.Final that uses Forge Richfaces plugin.
  
Actual results:

[ERROR] java.lang.NoClassDefFoundError: com/google/common/reflect/TypeToken
[ERROR] 	at org.jboss.errai.codegen.meta.impl.java.JavaReflectionMethod.getParameters(JavaReflectionMethod.java:62)
[ERROR] 	at org.jboss.errai.codegen.meta.MetaClassFactory.cloneToBuildMetaClass(MetaClassFactory.java:325)
[ERROR] 	at org.jboss.errai.codegen.meta.MetaClassFactory.parameterizedAs(MetaClassFactory.java:261)
[ERROR] 	at org.jboss.errai.codegen.meta.MetaClassFactory.parameterizedAs(MetaClassFactory.java:257)
[ERROR] 	at org.jboss.errai.codegen.meta.impl.java.JavaReflectionClass.getSuperClass(JavaReflectionClass.java:317)
[ERROR] 	at org.jboss.errai.codegen.meta.MetaClassFactory.cloneToBuildMetaClass(MetaClassFactory.java:279)
[ERROR] 	at org.jboss.errai.codegen.meta.MetaClassFactory.parameterizedAs(MetaClassFactory.java:261)
[ERROR] 	at org.jboss.errai.codegen.meta.MetaClassFactory.parameterizedAs(MetaClassFactory.java:257)
[ERROR] 	at org.jboss.errai.ioc.rebind.ioc.bootstrapper.QualifierEqualityFactoryGenerator.generateQualifierEqualityFactory(QualifierEqualityFactoryGenerator.java:99)
[ERROR] 	at org.jboss.errai.ioc.rebind.ioc.bootstrapper.QualifierEqualityFactoryGenerator.generate(QualifierEqualityFactoryGenerator.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:217)
[ERROR] 	at java.security.AccessController.doPrivileged(Native Method)
[ERROR] 	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
[ERROR] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
[ERROR] 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
[ERROR] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
[ERROR] 	... 38 more


Expected results:

It deploys.

Comment 1 Lukáš Fryč 2012-10-26 12:49:22 UTC
Tomas, could you please create tracking upstream JIRA and link back to this issue?

What is important for us is aligning the version with AS7 upstream.
Regrettably, it is not specified is Guava module in AS7 is public or private [1].

[1] https://community.jboss.org/wiki/ModuleInventory

Comment 4 Karel Piwko 2012-10-30 08:58:00 UTC
EAP 6.0.1 is not going to move to 12.x. 

EAP 6.0.0 uses 11.0.2-redhat-1
EAP 6.0.1.ER3 uses 11.0.2-redhat-1.

Comment 7 JBoss JIRA Server 2012-10-30 18:06:51 UTC
Brian Leathem <bleathem> updated the status of jira RF-12580 to Resolved

Comment 8 JBoss JIRA Server 2012-10-30 18:06:51 UTC
Brian Leathem <bleathem> made a comment on jira RF-12580

We'll continue to track the guava version used in EAP 6

Comment 9 mark yarborough 2012-11-09 15:05:22 UTC
Brian: Please update CCFR for WFK 2.1 release notes.

Comment 10 Marek Novotny 2013-03-26 10:01:18 UTC
Update: EAP 6.1 contains currently 13.0.1-redhat-1, so we will resolve this when our build runtime is switched to EAP 6.1

Comment 12 Marek Novotny 2013-06-04 07:16:00 UTC
This is resolved as Richfaces and Errai are both aligned to EAP 6.1.0.GA version, which is 13.0.1-redhat-1

Comment 14 Oliver Kišš 2013-06-11 14:50:32 UTC
Verified for 2.3.0.ER1

Comment 15 Petr Penicka 2013-07-04 07:57:16 UTC
Edited doc text for 2.3 release notes.


Note You need to log in before you can comment on or make changes to this bug.