Maven 1 plugin compiled with java 6 class version

4 views
Skip to first unread message

Manuel Darveau

unread,
Jun 19, 2008, 2:20:36 PM6/19/08
to gwt-...@googlegroups.com
Hi all,

when I execute "maven war", I get the following error when executing mergewebxml:
gwt:mergewebxml:
    [echo] mergewebxml - still experimental
    [java] Working directory ignored when same JVM is used.
    [java] [ERROR] java.lang.UnsupportedClassVersionError: Bad version number in .class file
        at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:180)
        at org.apache.tools.ant.taskdefs.Java.run(Java.java:710)
        at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:178)
        at org.apache.tools.ant.taskdefs.Java.execute(Java.java:84)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.commons.jelly.tags.ant.AntTag.doTag(AntTag.java:195)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:83)
        at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:116)
        at org.apache.maven.werkz.Goal.fire(Goal.java:691)
        at org.apache.maven.werkz.Goal.attain(Goal.java:623)
        at org.apache.maven.werkz.WerkzProject.attainGoal(WerkzProject.java:209)
        at org.apache.maven.jelly.tags.werkz.MavenAttainGoalTag.doTag(MavenAttainGoalTag.java:115)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.maven.werkz.jelly.PreGoalTag$1.firePreGoal(PreGoalTag.java:110)
        at org.apache.maven.werkz.Goal.firePreGoalCallbacks(Goal.java:742)
        at org.apache.maven.werkz.Goal.fire(Goal.java:669)
        at org.apache.maven.werkz.Goal.attain(Goal.java:623)
        at org.apache.maven.werkz.Goal.attainPrecursors(Goal.java:526)
        at org.apache.maven.werkz.Goal.attain(Goal.java:621)
        at org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:712)
        at org.apache.maven.MavenSession.attainGoals(MavenSession.java:265)
        at org.apache.maven.cli.App.doMain(App.java:307)
        at org.apache.maven.cli.App.main(App.java:217)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.werken.forehead.Forehead.run(Forehead.java:551)
        at com.werken.forehead.Forehead.main(Forehead.java:581)
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at org.apache.tools.ant.loader.AntClassLoader2.defineClassFromData(AntClassLoader2.java:76)
        at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1090)
        at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1154)
        at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1107)
        at org.apache.tools.ant.AntClassLoader.forceLoadClass(AntClassLoader.java:592)
        at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:118)
        ... 32 more
--- Nested Exception ---
java.lang.UnsupportedClassVersionError: Bad version number in .class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at org.apache.tools.ant.loader.AntClassLoader2.defineClassFromData(AntClassLoader2.java:76)
        at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1090)
        at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1154)
        at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1107)
        at org.apache.tools.ant.AntClassLoader.forceLoadClass(AntClassLoader.java:592)
        at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:118)
        at org.apache.tools.ant.taskdefs.Java.run(Java.java:710)
        at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:178)
        at org.apache.tools.ant.taskdefs.Java.execute(Java.java:84)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.commons.jelly.tags.ant.AntTag.doTag(AntTag.java:195)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:83)
        at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:116)
        at org.apache.maven.werkz.Goal.fire(Goal.java:691)
        at org.apache.maven.werkz.Goal.attain(Goal.java:623)
        at org.apache.maven.werkz.WerkzProject.attainGoal(WerkzProject.java:209)
        at org.apache.maven.jelly.tags.werkz.MavenAttainGoalTag.doTag(MavenAttainGoalTag.java:115)
        at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250)
        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
        at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
        at org.apache.maven.werkz.jelly.PreGoalTag$1.firePreGoal(PreGoalTag.java:110)
        at org.apache.maven.werkz.Goal.firePreGoalCallbacks(Goal.java:742)
        at org.apache.maven.werkz.Goal.fire(Goal.java:669)
        at org.apache.maven.werkz.Goal.attain(Goal.java:623)
        at org.apache.maven.werkz.Goal.attainPrecursors(Goal.java:526)
        at org.apache.maven.werkz.Goal.attain(Goal.java:621)
        at org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:712)
        at org.apache.maven.MavenSession.attainGoals(MavenSession.java:265)
        at org.apache.maven.cli.App.doMain(App.java:307)
        at org.apache.maven.cli.App.main(App.java:217)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.werken.forehead.Forehead.run(Forehead.java:551)
        at com.werken.forehead.Forehead.main(Forehead.java:581)

I checked the plugin's class version and found version 50.0 (java 6). I think that since GWT is only about to support java 5, the plugin should be compile with java 4-5 class compatibility.

Also, the build finish with:
-------------------------------------------------------------------------------
BUILD SUCCESSFUL
-------------------------------------------------------------------------------

I think that this is misleading since the mergewebxml was not executed correctly (nothing was merged).


Thank you

Manuel

Charlie Collins

unread,
Jul 1, 2008, 2:23:17 PM7/1/08
to gwt-maven
I just noticed this thread, but will add these issues (several here, 1
class file compat, 2 should fail) to the issue tracker.

Manuel Darveau

unread,
Jul 1, 2008, 2:29:33 PM7/1/08
to gwt-...@googlegroups.com
Hi Charlie,

Actually, I found that the problem is not with the maven 1 plugin itself but with the dependent jar that used by both maven 1 and maven 2 plugin (I can't remember the name).
Anyway, this can/should be fixed. I guess that the jar is built with maven so the fix should be really straight forward ;-)

Manuel
Reply all
Reply to author
Forward
0 new messages