0

重複の可能性:
サポートされていないメジャー .マイナー バージョン 51.0

私は最近Javaを学んでいます。その中にアプリケーションを作成し、その実行可能なJarファイルを作成しました。jar ファイルは Windows 7 では正常に動作していますが、Macos で同じ Jar ファイルを実行しようとすると、次のエラーが発生します。

Exception in thread "main" java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.UnsupportedClassVersionError: org/redfire/screen/ScreenShare : 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 java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 at FinalJavaScreenShare.InitialiseScreenShare(FinalJavaScreenShare.java:150)
 at FinalJavaScreenShare.GetServerData(FinalJavaScreenShare.java:134)
 at FinalJavaScreenShare.main(FinalJavaScreenShare.java:46)

このようなエラーの理由は何でしょうか。OS ごとに個別の Jar ファイルを作成する必要があるかどうか、または現在のバージョンの Jar に問題があるかどうかを知りたいです。

注: Jar ファイルの作成には Eclipse Helios を使用しています。

私を助けてください。

ありがとうございます。

4

1 に答える 1

0

これは、最初の質問に基づいて重複としてフラグが付けられています (..質問ごとに 1 つの質問に注目してください)。その他の部分について説明します。

OS ごとに個別の Jar ファイルを作成する必要がありますか、それとも現在のバージョンの Jar に問題がありますか?

それぞれいいえ&はい。

ここで重要なことは、クロスコンパイル オプションをjavac使用して、それをサポートする最小の Java ランタイム バージョン用にコードをコンパイルすることです。

于 2013-01-10T05:36:45.803 に答える