2012-12-07 1 views
1

Je reçois l'exception suivante lorsque j'ouvre mon application GWT en mode développement. le même code peut être compilé avec succès mvn GWT: compilerLe mode de développement GWT lève ArrayIndexOutOfBoundsException lors de la compilation GinjectorImpl.java

causés par: java.lang.ArrayIndexOutOfBoundsException: 3667 à com.google.gwt.dev.asm.ClassReader.readClass (ClassReader.java:1976) à l'adresse com.google.gwt.dev.asm.ClassReader.accept (ClassReader.java:464) à l'adresse com.google.gwt.dev.asm.ClassReader.accept (ClassReader.java:420) at com.google .gwt.dev.shell.rewrite.HasAnnotation.hasAnnotation (HasAnnotation.java:45) à com.google.gwt.dev.shell.CompilingClassLoader.findClass (CompilingClassLoader.java:1100) à com.google.gwt .ré ev.shell.CompilingClassLoader.loadClass (CompilingClassLoader.java:1203) à java.lang.ClassLoader.loadClass (ClassLoader.java:247) à java.lang.Class.forName0 (méthode native) à java.lang.Class .forName (Class.java:247) at com.google.gwt.dev.shell.ModuleSpace.loadClassFromSourceName (ModuleSpace.java:665) à com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate (ModuleSpace. java: 468) à com.google.gwt.dev.shell.GWTBridgeImpl.create (GWTBridgeImpl.java:49) à com.google.gwt.core.shared.GWT.create (GWT.java:57) à com.google.gwt.core.client.GWT.create (GWT.java:85) à ...

J'abusait ModuleSpace.java et imprimé le nom de la classe à la ligne 665 avant Class.forName() qui indique qu'il essaie de charger le produit GinjectorImpl.java

J'ai découvert mon produit est sur le point GinjectorImpl.java 9 Mo et 100K + lignes de code.

Lorsque je supprime de manière aléatoire certains modules de mon application GWT, cela fonctionne à nouveau, donc je suppose que c'est trop grand pour compiler ASM.

Des suggestions? Merci

Environnement: GWT 2.5.0, 1.5.0 GIN, GWT-maven-plugin 2.5.0, Java SE 6

Répondre

0

GIN Mise à jour vers 2.0.0 fixe mon problème

taille de la généré Ginjector.java rétrécir à partir de lignes 110K + à 23 lignes :)

2

Essayez de supprimer le dossier gwt-unitCache et exécutez à nouveau un gwt-compile. Cela l'a arrangé pour moi.

Questions connexes