我使用eclipse创建了一个jar文件。我的jdk版本是1.5.0
。当我在linux机器上使用相同的JDK
运行该jar文件时,它工作正常。但是当我在安装了JDK 1.5.0_14
的solaris机器上运行这个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(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
我无法得到任何解决方案..?
答案 0 :(得分:0)
当JVM无法读取类文件时会发生这种情况。由于JVM是向后兼容的,即支持较旧版本的类文件,因此您的类是由比您正在使用的JVM更新的编译器创建的。
您正在使用JVM 1.5,但您的代码是由编译器编译的1.6或1.7(甚至可能是1.8?)。
因此,您应该在运行应用程序的机器上升级java环境,或者使用1.5编译器编译应用程序。第一种方式绝对是可取的。