-4

重複の可能性:
スレッド「main」の例外java.lang.UnsupportedClassVersionError:a(サポートされていないmajor.minorバージョン51.0)

MacとWindowsで実行しているJavaプログラムが機能していません。代わりに、次のエラーが発生します。

Exception in thread "main" java.lang.UnsupportedClassVersionError: menus/Main_Screen : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

誰かがこれを修正する方法を知っていますか?ありがとう。

4

3 に答える 3

3

クラス バージョン 51.0 は、Java 7 によって生成されます。

以前のバージョン (おそらく Java 6) で実行しようとしています。 Java コマンドの Java 7 バージョンを呼び出す必要があります。

NetBeans の実行に使用されるバージョンは、NetBeans/etc/netbeans.conf に設定されています。
プロジェクトのビルドと実行に使用されるバージョンは、プロジェクト プロパティによって設定されます。
[ツール] > [Java プラットフォーム] を使用して、新しい Java バージョンについて NetBeans に通知できます。

于 2013-01-17T19:11:59.323 に答える
0
Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(

Javaランタイムバージョンがコンパイル時バージョンとは異なる(下位の)バージョンのようです。

于 2013-01-17T18:50:34.953 に答える
0

一般的なルールはこれです。

JRE よりも古いバージョンの Java でコンパイルされた *.class を使用すると、その JRE で動作するはずです。後の JRE は以前のバージョンの形式を「認識する」ことになっているためです。

JRE より後のバージョンの Java でコンパイルされた *.class を使用する場合、その JRE では動作しません。以前の JRE は、将来のバージョンのフォーマットを認識する必要がないためです。


あなたの場合、コードはJREのバージョンの後に発行されたJavaのバージョンによって単純にコンパイルされます。

于 2013-01-18T03:35:07.850 に答える