2013-04-30 3 views
6

Non riesco a compilare a js in GWT.Come posso aggirare questo errore interno del compilatore GWT

devmode funziona come sempre. Avevo fatto un bel po 'di modifiche tra le compilation, quindi non so esattamente dove cercare.

Che cosa potrebbe risolvere questo?

[GWT 2.5 AE 1.7.1]

[ERROR] Unexpected internal compiler error 

java.lang.RuntimeException: IOException imprevista in funzione in memoria a com.google.gwt.dev.javac.CompilationUnit.getTypes (CompilationUnit. java: 324) all'indirizzo com.google.gwt.dev.jjs.impl.UnifyAst.assimilateUnit (UnifyAst.java:672) all'indirizzo com.google.gwt.dev.jjs.impl.UnifyAst.searchForTypeBySource (UnifyAst.java: 985) all'indirizzo com.google.gwt.dev.jjs.impl.UnifyAst.addRootTypes (UnifyAst.java:530) all'indirizzo com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile (JavaToJavaScriptCompiler.java:621) all'indirizzo com.google.gwt.dev.jjs.JavaScriptCompiler.precompile (JavaScriptCompiler.java:33) all'indirizzo com.google.gwt.dev.Precompile.precompile (Precompile.java:278) all'indirizzo com.google.gwt. dev.Precompile.precompile (Precompile.java:229) in com.google.gwt.dev.Precompile.precompile (Precompile.java:141) in com.google.gwt.dev.Compiler.run (Compilatore.java: 232) su com.google.gwt.dev.Compiler.run (Compiler.java:198) su com.google.gwt.dev.Compiler $ 1.run (Compiler.java:170) su com.google.gwt .dev.CompileTaskRunner.doRun (CompileTaskRunner.java:88) su com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger (CompileTaskRunner.java:82) su com.google.gwt.dev.Compiler.main (Compilatore.java : 177) Causato da: java.io.InvalidClassException: com.google.gwt.dev.jjs.ast.JDeclaredType; classe locale incompatibili: flusso classdesc serialVersionUID = -8155793964565947646, classe locale serialVersionUID = -1052417216019896795 a java.io.ObjectStreamClass.initNonProxy (ObjectStreamClass.java:604) a java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1601) a java.io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1514) a java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1601) a java.io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1514) a java .io.ObjectInputStream.readOrdinaryObject (ObjectInputStream.java:1750) a java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1347) a java.io.ObjectInputStream.readObject (ObjectInputStream.java:369) a java.util.ArrayList.readObject (ArrayList.java:733) a sun.reflect.GeneratedMethodAccessor21.invoke (fonte sconosciuta) a sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) a java.lang .reflect.Method.invoke (Method.java:601) a java.io.ObjectStreamClass.invokeReadObject (ObjectStreamClass.java:1004) a java.io.ObjectInputStream.readSerialData (ObjectInputStream.java:1872) a java.io .ObjectInputStream.readOrdinaryObject (ObjectInputStream.java:1777) a java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1347) a java.io.ObjectInputStream.readObject (ObjectInputStream.java:369) a com.google.gwt .dev.jjs.ast.JProgram.deserializeTypes (JProgram.java : 203) su com.google.gwt.dev.javac.CompilationUnit.getTypes (CompilationUnit.java:322) ...14 più Arresto filo PersistentUnitCache

+0

Hai provato l'ultima versione di GWT e GAE o c'è un motivo per cui non stai utilizzando le ultime versioni? –

+0

Sì, ho notato il problema solo dopo l'aggiornamento a GWT 2.5.1, quindi sono tornato indietro per vedere se questo avrebbe risolto il problema. Ad ogni modo, la soluzione: rimuovere gwt-UnitCache - – user1258245

risposta

15

Soluzione: eliminare la cartella denominata gwt-unitCache

+2

Funziona alla grande anche con GWT 2.5, grazie! – Marconius

1

Quando si vede questa "classe locale incompatibili: flusso classdesc serialVersionUID = -8155793964565947646, classe locale serialVersionUID = -1052417216019896795" allora probabilmente tentato di compilare la versione GWT più recente utilizzando il compilatore GWT precedente. Soluzione per questo quando si utilizza Maven è quello di modificare la versione GWT. Per esempio

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>gwt-maven-plugin</artifactId> 
<version>2.5.0</version> 
<executions> 
    <!-- GWT version detected from dependencyManagement --> 
    <execution> 
     <goals> 
      <goal>compile</goal> 
     </goals> 
    </execution> 
</executions> 

Change <version>2.5.0</version>-<version>2.5.1</version>, funziona per me.