可能性のある複製:
サポートされていないメジャー。マイナーバージョン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) {}
}
}
}
Java 7でコンパイルされたJavaクラスファイルにはメジャー/マイナーバージョン51/0があります。Java 7に対応していないJVM実装がある場合、 「このクラスファイルを解釈して実行する方法がわからない」というエラーが表示されます。
古いバージョンのJVMでコンパイルするか、JVMをアップグレードしてください。
お役に立てれば!
問題は、SDKとランタイム環境が一致しないことです。コンパイルオプションをチェックして、両方に適切なバージョンを使用するようにしてください。
参照: Java.lang.UnsupportedClassVersionErrorの修正方法:サポートされていないmajor.minorバージョン
MavenでNetbeansを使用していて、maven-compiler-pluginにプロパティファイルの値が含まれている場合は、1.6などのリテラル値に変更すれば、問題は解消されます。これは、Netbeansが混乱していることに関係しています。