我拥有使用jdk7编译的am类,并且我试图使用JDK6调用,类路径中的jars是使用jdk 6编译的。
jdk6/bin/java com.test.myclass -classpath abc.jar xyz.jar pqr.jar MNO.jar我的类com.test.myclass在MNO.jar中,abc.jar xyz.jar pqr.jar是用jdk6编译的
对于jdk7,它可以工作。
jdk7/bin/java com.test.myclass -classpath abc.jar xyz.jar pqr.jar MNO.jar这也是fails.Any输入来解决这个问题。?
Exception in thread "Main Thread" java.lang.UnsupportedClassVersionError: com/test/MyClass: unsupported classversion 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.test.MyClass. Program will exit.
256谢谢
发布于 2013-09-25 13:29:30
在编译源代码时,给出参数-target 1.6。这样就会生成1.6兼容的字节码(即类文件表示它们需要1.6或更高版本才能运行)。
发布于 2013-09-25 14:04:48
最后,您可以使用十六进制编辑器将.class文件的类版本从33更改为32 (从文件开始的7字节)。如果该类不使用任何Java 7新特性,它将正常工作。
发布于 2013-09-25 13:40:55
如果您在类中使用了任何特定于jdk 7的代码,那么它将无法工作,否则它就会工作。
https://stackoverflow.com/questions/19006288
复制相似问题