On Apr 2, 2010, at 15:16, Bill Janssen <jans...@parc.com> wrote:

I'm compiling a jar file with JCC 2.4.1, and get the following:

% python -m jcc.__main__ --build --jar GoodStuff.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:124)
   at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
   at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/runpy.py", line 95, in run_module
   filename, loader, alter_sys)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/runpy.py", line 52, in _run_module_code
   mod_name, mod_fname, mod_loader)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/runpy.py", line 32, in _run_code
   exec code in run_globals
File "/Library/Python/2.5/site-packages/JCC-2.4.1-py2.5-macosx-10.5- i386.egg/jcc/__main__.py", line 88, in <module>
   cpp.jcc(sys.argv)
File "/Library/Python/2.5/site-packages/JCC-2.4.1-py2.5-macosx-10.5- i386.egg/jcc/cpp.py", line 409, in jcc
   cls = findClass(className.replace('.', '/'))
jcc.cpp.JavaError: java.lang.UnsupportedClassVersionError: Bad version number in .class file
Java stacktrace:
java.lang.UnsupportedClassVersionError: Bad version number in .class file
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:124)
   at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
   at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)

%

At times like these it would be very handy to know just which class file
is causing the problem.

Indeed, I wish java would tell.

All jcc can tell is what class it attempted to load not what class is bad since loading a class can bring in a bunch more.

I can add a catch to print out the attempted class name.

Andi..

Also, I just compiled this GoodStuff.jar file from source with the same
java.  How can there be version number mismatches


Bill

Reply via email to