GWT Erreur de Compilation - IncompatibleClassChangeError
Lors de la compilation du projet, je reçois cet obscur Exception
Looking for precompiled archives. To disable, use -Dgwt.usearchives=false
Loading archived module: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/user/User.gwtar
[WARN] Unable to read: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/user/User.gwtar. Skipping: java.io.InvalidClassException: com.google.gwt.dev.util.DiskCacheToken; local class incompatible: stream classdesc serialVersionUID = 3824090149180578568, local class serialVersionUID = -2622986784335128516
Loading archived module: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/core/Core.gwtar
[WARN] Unable to read: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/core/Core.gwtar. Skipping: java.io.InvalidClassException: com.google.gwt.dev.util.DiskCacheToken; local class incompatible: stream classdesc serialVersionUID = 3824090149180578568, local class serialVersionUID = -2622986784335128516
Loading archived module: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/regexp/RegExp.gwtar
[WARN] Unable to read: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/regexp/RegExp.gwtar. Skipping: java.io.InvalidClassException: com.google.gwt.dev.util.DiskCacheToken; local class incompatible: stream classdesc serialVersionUID = 3824090149180578568, local class serialVersionUID = -2622986784335128516
Loading archived module: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/web/bindery/event/Event.gwtar
Loading archived module: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/xml/XML.gwtar
[WARN] Unable to read: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/xml/XML.gwtar. Skipping: java.io.InvalidClassException: com.google.gwt.dev.util.DiskCacheToken; local class incompatible: stream classdesc serialVersionUID = 3824090149180578568, local class serialVersionUID = -2622986784335128516
Loading archived module: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/json/JSON.gwtar
[WARN] Unable to read: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/json/JSON.gwtar. Skipping: java.io.InvalidClassException: com.google.gwt.dev.util.DiskCacheToken; local class incompatible: stream classdesc serialVersionUID = 3824090149180578568, local class serialVersionUID = -2622986784335128516
Found 0 cached/archived units. Used 0 /4578 units from cache.
Compiling...
0% complete (ETR: 93 seconds)
10% complete (ETR: 56 seconds)
20% complete (ETR: 37 seconds)
30% complete (ETR: 25 seconds)
40% complete (ETR: 18 seconds)
50% complete (ETR: 14 seconds)
60% complete (ETR: 10 seconds)
70% complete (ETR: 7 seconds)
80% complete (ETR: 5 seconds)
90% complete (ETR: 2 seconds)
100% complete (ETR: 0 seconds)
Compilation completed in 28.40 seconds
[ERROR] Unexpected internal compiler error
java.lang.IncompatibleClassChangeError: class com.google.gwt.dev.javac.BytecodeSignatureMaker$CompileDependencyVisitor has interface com.google.gwt.dev.asm.ClassVisitor as super class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.google.gwt.dev.javac.BytecodeSignatureMaker.visitCompileDependenciesInBytecode(BytecodeSignatureMaker.java:217)
at com.google.gwt.dev.javac.BytecodeSignatureMaker.getCompileDependencySignature(BytecodeSignatureMaker.java:199)
at com.google.gwt.dev.javac.CompiledClass.getSignatureHash(CompiledClass.java:152)
at com.google.gwt.dev.javac.Dependencies$Ref.<init>(Dependencies.java:42)
at com.google.gwt.dev.javac.Dependencies$Ref.<init>(Dependencies.java:37)
at com.google.gwt.dev.javac.Dependencies.resolve(Dependencies.java:114)
at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:311)
at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:511)
at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:434)
at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:420)
at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:485)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:241)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:223)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:139)
at com.google.gwt.dev.Compiler.run(Compiler.java:167)
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)
Shutting down PersistentUnitCache thread
Où pourrais-je commencer à chercher le problème?
OriginalL'auteur Manu | 2014-04-19
Vous devez vous connecter pour publier un commentaire.
Merci d'essayer de nouveau après la suppression de tous les stub généré et re-compilation du projet de nouveau.
J'ai mis en évidence toutes les stubs qui doit être supprimé, comme illustré ci-dessous instantané.
Voici la liste des dossiers (le nom peut varier en fonction de votre GWT compilation de projet nom du module) qui doivent être enlevés.
Après une couple de nettoyage de construire, ta solution a fonctionné!
C'est une bonne nouvelle 🙂
Je pense que vous avez manqué à supprimer auto généré des fichiers javascript qui est dans le dossier
gwtproject
dans mon cas.Mon projet Maven ne contient pas de ce dossier.
OriginalL'auteur Braj
Dans mon cas, j'ai dû enlever l'asm 3.1 de mon classpath et il y a quelques pots qui a interne à la dépendance de l'asm 3.1. Que j'ai eu à exclure de la dépendance dans mon pompon. exemple:
Il y avait d'autres pots, qui a tant de dépendances internes, l'utilisation de maven de l'arbre des dépendances à identifier. et de l'exclure de l'asm dépendance.
Remarque: vous pouvez même mettre à jour ces pots pour les versions supérieures, ce qui en fait un soutien de versions plus récentes de l'ASM(>4.0), qui devrait être bien avec GWT 2,7 ou 2,8
OriginalL'auteur Bikas Katwal
Dans mon cas, j'ai dû l'exclure une asm artefact provenant d'une hibernate validator bibliothèque de sorte que vous devriez être bien à l'exclusion de toute asm artefact dans votre maven configs pour votre module gwt.
OriginalL'auteur theBushman
Ce qui m'est arrivé lorsque j'avais
gwt-servlet.jar
sur mon classpath lors de la compilation. Si vous utilisez maven, la marque (définir le champ d'application) la dépendance degwt-servlet.jar
commeprovided
OriginalL'auteur Jiri Kremser
J'ai migré l'asm version 4.0 et la question ai résolu
OriginalL'auteur lnarasimhan
J'ai eu le même problème quand j'ai migré de gwt 2.6.1 à 2.8. En fait, cette erreur causée par la msa de la dépendance. Certains de votre serveur de dépendance interne de la dépendance à l'asm. Dans mon cas sa cglib. J'ai donc changé cglib à cglib-nodep et cela a fonctionné 🙂
OriginalL'auteur Nava
Pour moi, je n'étais pas à l'aide de gwt-servlet.jar et les dépendances ont été référencement anciennes versions. J'ai ajouté la dernière (correspondant à mon gwt-user.jar) en tant que régulier de dépendance et Maven puis a su utiliser uniquement la version la plus récente. Vous pouvez vérifier votre dépendance à l'arbre avec mvn dependency:tree -Dverbose
OriginalL'auteur BrianHenryIE
Dans mon projet, une modularité de l'application GWT, j'ai dû ajouter une dépendance à gwt-dev dans le module qui a commencé à l'ensemble de l'application.
OriginalL'auteur Jorge P.