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

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -