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

Java Stacktrace error Unsupported major.minor version 51.0

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
unsupported major .minor version 51.0

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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"

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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。如果你有一个JAVM实现,它没有为Java 7做准备,它会给你这个错误,指示"我不知道如何解释和运行这个类文件"。

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

希望这有帮助!


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

另请参见:如何修复java.lang.unsupportedClassVersionError:unsupported major.minor版本


如果您将NetBeans与Maven一起使用,并且您的Maven编译器插件具有属性文件中的值,那么将其更改为像1.6这样的文字值,您的问题就会消失。这与netbeans被混淆有关。