java - Debugging ant UnsupportedClassVersionError -
i'm getting following exception trace result of running ant package
(this supposed create jboss .ear
package):
$ ant package buildfile: /usr/local/src/appname/build.xml init: [echo] classpath = ${java.classpath} build: package: build failed /usr/local/src/appname/build.xml:369: java.lang.unsupportedclassversionerror: bad version number in .class file @ java.lang.classloader.defineclass1(native method) @ java.lang.classloader.defineclass(classloader.java:621) @ java.security.secureclassloader.defineclass(secureclassloader.java:124) @ java.net.urlclassloader.defineclass(urlclassloader.java:260) @ java.net.urlclassloader.access$100(urlclassloader.java:56) @ java.net.urlclassloader$1.run(urlclassloader.java:195) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:188) @ java.lang.classloader.loadclass(classloader.java:307) @ java.lang.classloader.loadclass(classloader.java:252) @ java.lang.classloader.loadclassinternal(classloader.java:320) @ org.apache.tools.ant.util.depend.bcel.ancestoranalyzer.<init>(ancestoranalyzer.java:45) @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27) @ java.lang.reflect.constructor.newinstance(constructor.java:501) @ java.lang.class.newinstance0(class.java:350) @ java.lang.class.newinstance(class.java:303) @ org.apache.tools.ant.taskdefs.optional.ejb.genericdeploymenttool.createanalyzer(genericdeploymenttool.java:281) @ org.apache.tools.ant.taskdefs.optional.ejb.genericdeploymenttool.configure(genericdeploymenttool.java:308) @ org.apache.tools.ant.taskdefs.optional.ejb.ejbjar.execute(ejbjar.java:582) @ org.apache.tools.ant.unknownelement.execute(unknownelement.java:291) @ sun.reflect.generatedmethodaccessor4.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25) @ java.lang.reflect.method.invoke(method.java:592) @ org.apache.tools.ant.dispatch.dispatchutils.execute(dispatchutils.java:106) @ org.apache.tools.ant.task.perform(task.java:348) @ org.apache.tools.ant.target.execute(target.java:390) @ org.apache.tools.ant.target.performtasks(target.java:411) @ org.apache.tools.ant.project.executesortedtargets(project.java:1360) @ org.apache.tools.ant.project.executetarget(project.java:1329) @ org.apache.tools.ant.helper.defaultexecutor.executetargets(defaultexecutor.java:41) @ org.apache.tools.ant.project.executetargets(project.java:1212) @ org.apache.tools.ant.main.runbuild(main.java:801) @ org.apache.tools.ant.main.startant(main.java:218) @ org.apache.tools.ant.launch.launcher.run(launcher.java:280) @ org.apache.tools.ant.launch.launcher.main(launcher.java:109) total time: 0 seconds
is there way find out which exactly class file trying load when exception occurred?
i've tried running ant -v
, ant -debug
, doesn't add valuable information problem.
as 1 can see, ant build
finishes w/o errors (and ant clean
works.)
i understand broken in setup, knowing offending class file name of great fixing setup.
ant , java/javac versions:
$ ant -version apache ant version 1.8.0 compiled on march 11 2010 $ java -version java version "1.5.0_22" java(tm) 2 runtime environment, standard edition (build 1.5.0_22-b03) java hotspot(tm) 64-bit server vm (build 1.5.0_22-b03, mixed mode) $ javac -version javac 1.5.0_22
os version:
$ lsb_release -a no lsb modules available. distributor id: debian description: debian gnu/linux 6.0.2 (squeeze) release: 6.0.2 codename: squeeze
jboss installed /opt/jboss-4.2.3.ga
.
any pointers?
according javadocs java.lang.unsupportedclassversionerror
point of class is:
thrown when java virtual machine attempts read class file , determines major , minor version numbers in file not supported.
this tells me there class @ unsupported version (usually read as "higher version" ant using @ moment.
so...that being said, , seeing ant script looks trying possibly ejb stub generation or of like, makes me wonder version of java ee trying work , version of jboss working with. find out (like ee 6 isn't java se 5) , jre jboss using. if using jars package @ level higher 1.5 build 22 (even if 1.5 build 23), run error. make sure jars (even third party jars , libraries , not using generate java ee app) @ 1.5 build 22 or lower. should alleviate problem. if unsure jar's version, can "open" using winzip , @ manafest.mf file.
Comments
Post a Comment