web-dev-qa-db-ja.com

Java Stacktrace error Unsupported major.minor version 51.0

可能性のある複製:
サポートされていないメジャー。マイナーバージョン51.

このスクリプトを作成したところ、次のエラーが発生しました。

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) {}
        }
    }

}
11
Ryan Glen

Java 7でコンパイルされたJavaクラスファイルにはメジャー/マイナーバージョン51/0があります。Java 7に対応していないJVM実装がある場合、 「このクラスファイルを解釈して実行する方法がわからない」というエラーが表示されます。

古いバージョンのJVMでコンパイルするか、JVMをアップグレードしてください。

お役に立てれば!

18
templatetypedef

問題は、SDKとランタイム環境が一致しないことです。コンパイルオプションをチェックして、両方に適切なバージョンを使用するようにしてください。

参照: Java.lang.UnsupportedClassVersionErrorの修正方法:サポートされていないmajor.minorバージョン

6
Matzi

MavenでNetbeansを使用していて、maven-compiler-pluginにプロパティファイルの値が含まれている場合は、1.6などのリテラル値に変更すれば、問題は解消されます。これは、Netbeansが混乱していることに関係しています。

1