When using JDK6 I am having issues compiling maven apps using Vaadin 7.7.1 due to the vaadin-maven-plugin. The documentation of 7.7.1 claims that it should still work on Java 6 however I am getting a major.minor error when trying to compile. Could it be that this version of the plugin was compiled on 7 or newer?
The error is
Caused by: org.apache.maven.plugin.PluginContainerException: An API incompatibility was encountered while executing com.vaadin:vaadin-maven-plugin:7.7.1:compile: java.lang.UnsupportedClassVersionError: com/vaadin/wscdn/client/WidgetSetRequest : Unsupported major.minor version 51.0
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
... 20 more
Caused by: java.lang.UnsupportedClassVersionError: com/vaadin/wscdn/client/WidgetSetRequest : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:386)
…
Looks like Vaadin is now pulling in a new dependency that is built with JDK 7. The wscdn dependency should only be needed if you use Vaadin CDN to compile the widgetset. If you don’t need that you could try removing that dependency from the pom.xml (or exclude it if it is a transitive dependency) and see if something breaks.
However this compiler is version 7.4.2 yet the 7.7.1 plugin is still being pulled down. I don’t think this is the same compiler you’re talking about, I’ve also forced the maven-plugin to be 7.4.2 but even though it downloads that version it still uses 7.7.1.
Is this not a far larger problem in that the maven plugin for a version of Vaadin that supports Java 6 has been compiled in 7 anyway?