I’m migrating my application from Vaadin 6 to 7.
environment:
Maven 3.0.4
OS: tried Windows 7 and Linux
Oracle JDK 64bit 1.7.0_11
Vaadin 7.0.0
[INFO]
[ERROR]
Unexpected internal compiler error
[INFO]
java.lang.RuntimeException: Unexpected IOException on in-memory stream
[INFO]
at com.google.gwt.dev.javac.CompilationUnit.getTypes(CompilationUnit.java:360)
[INFO]
at com.google.gwt.dev.jjs.impl.UnifyAst.assimilateUnit(UnifyAst.java:672)
[INFO]
at com.google.gwt.dev.jjs.impl.UnifyAst.searchForTypeBySource(UnifyAst.java:985)
[INFO]
at com.google.gwt.dev.jjs.impl.UnifyAst.addRootTypes(UnifyAst.java:530)
[INFO]
at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:621)
[INFO]
at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33)
[INFO]
at com.google.gwt.dev.Precompile.precompile(Precompile.java:278)
[INFO]
at com.google.gwt.dev.Precompile.precompile(Precompile.java:229)
[INFO]
at com.google.gwt.dev.Precompile.precompile(Precompile.java:141)
[INFO]
at com.google.gwt.dev.Compiler.run(Compiler.java:232)
[INFO]
at com.google.gwt.dev.Compiler.run(Compiler.java:198)
[INFO]
at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
[INFO]
at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
[INFO]
at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
[INFO]
at com.google.gwt.dev.Compiler.main(Compiler.java:177)
[INFO]
Caused by: java.io.InvalidClassException: com.google.gwt.dev.jjs.ast.JDeclaredType; local class incompatible: stream classdesc serialVersionUID
= -1052417216019896795, local class serialVersionUID = -8155793964565947646
[INFO]
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:604)
[INFO]
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1601)
[INFO]
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
[INFO]
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1601)
[INFO]
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
[INFO]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
[INFO]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
[INFO]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
[INFO]
at java.util.ArrayList.readObject(ArrayList.java:733)
[INFO]
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
[INFO]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO]
at java.lang.reflect.Method.invoke(Method.java:601)
[INFO]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
[INFO]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
[INFO]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
[INFO]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
[INFO]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
[INFO]
at com.google.gwt.dev.jjs.ast.JProgram.deserializeTypes(JProgram.java:203)
[INFO]
at com.google.gwt.dev.javac.CompilationUnit.getTypes(CompilationUnit.java:358)
[INFO]
... 14 more
here’s the pom.xml fragment:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<warSourceDirectory>src/main/webapp</warSourceDirectory>
</configuration>
</plugin>
<!-- Compiles your custom GWT components with the GWT compiler -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.5.0</version>
<configuration>
<!-- if you don't specify any modules, the plugin will find them -->
<!--modules>
..
</modules-->
<webappDirectory>${project.build.directory}/${project.build.finalName}/VAADIN/widgetsets
</webappDirectory>
<extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
<runTarget>clean</runTarget>
<hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
<noServer>true</noServer>
<port>9944</port>
</configuration>
<executions>
<execution>
<goals>
<goal>resources</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Updates Vaadin 6.2+ widgetset definitions based on project dependencies -->
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>${vaadin.version}</version>
<executions>
<execution>
<configuration>
<!-- if you don't specify any modules, the plugin will find them -->
<!--
<modules>
<module>${package}.gwt.MyWidgetSet</module>
</modules>
-->
</configuration>
<goals>
<goal>update-widgetset</goal>
</goals>
</execution>
</executions>
</plugin>
I added my comment to this GWT bug report:
http://code.google.com/p/google-web-toolkit/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Milestone%20Summary%20Stars&groupby=&sort=&id=7530
but I’m wondering if there’s any workaround…