0

JDK バージョン 1.7 の Netbeans を使用して Java アプリケーションを作成しまし
た。コードを変更せずに、JDK 1.5 がインストールされている別のマシンで同じアプリケーションをコンパイル/実行するにはどうすればよいですか?

コンパイルしようとすると、JDK のバージョンが一致しないというエラーが表示されました。

以下にエラーを示します。

java.lang.UnsupportedClassVersionError: MTPS : 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)
Could not find the main class: MTPS.  Program will exit.
4

3 に答える 3

2

ある Java バージョンから別のバージョンに変更すると、異なる機能が追加されます。たとえば、Enum 機能が Java 1.5 以降に追加されたように、1.4 でコンパイルしようとするとエラーが発生します。

ところで、アプリを JDK 1.5 でコンパイルしてみてください。成功した場合は、それを実行してみてください。

于 2012-03-19T08:54:39.430 に答える
0

javacのクロスコンパイルオプションを使用して、以前のJRE用にコードをコンパイルできます。1.7JDKを使用してJRE1.5をターゲットにしている場合rt.jarは、ブートクラスパスとして1.5バージョンを提供する必要があります(詳細については、ドキュメントを参照してください)。

于 2012-03-19T11:05:41.143 に答える
0

jdk 1.4 から jdk1.6 へ、および jdk 1.6 から jdk 7 への機能変更に注意する必要があります。ジェネリック、アサーションは jdk1.5 での新しい実装でした。

于 2012-03-19T10:37:14.250 に答える