Java堆栈跟踪错误:不支持的主要.次要版本51.0

11

可能重复:
unsupported major .minor version 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) {}
        }
    }

}
3个回答

18

针对Java 7编译的类文件其主/副版本号是51/0。如果您使用未为Java 7准备的JVM实现,将会出现错误,指示“我不知道如何解释和运行此类文件。”

请尝试使用旧版本JVM进行编译,或升级您的JVM。

希望能对您有所帮助!


我可以在这台电脑上运行它,但其他电脑不行。这台电脑安装了jdk6和jdk7。 - Ryan Glenn

6

1

如果您正在使用带有Maven的Netbeans,并且您的maven-compiler-plugin具有来自属性文件的值,则将其更改为文字值,例如1.6,您的问题将消失。这与Netbeans感到困惑有关。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接