Java Stacktrace错误不支持的major.minor版本51.0

可能重复:
不支持的主要.minor版本51.0

我制作了这个脚本,它给了我这个错误:

java.lang.UnsupportedClassVersionError: net/glitching/client : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) 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$000(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) Exception in thread "main" 

这是什么意思? 这是我的代码……

 package net.glitching; import java.io.IOException; import java.io.ObjectInputStream; import java.net.Socket; public class client { static Socket sock = null; public static void main(String[] args) { while (true) { try { sock = new Socket("localhost", 4000); ObjectInputStream in = new ObjectInputStream(sock.getInputStream()); } catch (IOException ex) {} } } } 

为Java 7编译的Java类文件具有主要/次要版本51/0。 如果你有一个没有为Java 7准备的JVM实现,它会给你这个错误,指出“我不知道如何解释和运行这个类文件。”

尝试编译较旧的JVM版本,或升级JVM。

希望这可以帮助!

问题是您的SDK和运行时环境不匹配。 尝试检查编译选项以使用正确的版本,两者都有。

另请参见: 如何修复java.lang.UnsupportedClassVersionError:不支持的major.minor版本

如果您使用带有maven的Netbeans并且您的maven-compiler-plugin具有属性文件中的值,则将其更改为文字值(如1.6)并且您的问题将消失。 这与Netbeans的困惑有关。