0

PuTTY を使用して Java コードを実行しようとしています。フォルダーに必要なすべてのjarファイルがあり、「classname.class」フォルダーのあるフォルダーにファイルを実行しようとすると、次のエラーが発生します。

Exception in thread "main" java.lang.UnsupportedClassVersionError: dueDate (Unsupported major.minor version 49.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:489)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:104)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:245)
        at java.net.URLClassLoader.access$1(URLClassLoader.java:211)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:290)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:310)

このエラーが何を意味するのか、どのように修正すればよいのかわかりません。私はそれをプログラムするためにEclipseを使用しましたjdk-6u14.

PuTTY は Java バージョン '1.2.2' を使用しています

新しいバージョンの Java を使用するにはどうすればよいですか?

4

6 に答える 6

3

Java を使用しているのは実際には PuTTY ではありません。接続しているサーバーです。PuTTY は、そのサーバーに接続するために使用しているものです。

次の 2 つのオプションがあります。

  • Java のターゲット バージョン (Windows/Preferences/Java/Compiler/Compiler Compliance Level) を 1.3 に変更します。存在しないクラスの使用を避けるために、理想的には 1.2.2 JDK に対してもコンパイルする必要があります。サーバー上。
  • サーバー上の最新バージョンの Java を入手してください。

後者は難しいかもしれませんが、はるかに優れています。Java 1.2.2 に縛られる必要はありません。

于 2009-07-29T13:57:53.347 に答える
1

本当に古いJDK - 1.2.2で新しいJavaコードを実行しようとしています

Eclipse は、いくつかの後方コンパイル オプションを提供する可能性があります (プロジェクトを確認してください -> 設定 -> Java コンパイラ)。

したがって、新しい JDK を使用して実際にコードを実行してみてください。

于 2009-07-29T13:57:35.657 に答える
1

このエラーは、クラスをサポートしていない JVM でクラスを実行しようとしていることを示しています。クラス バージョン 49.0 は Java 5 で導入されました。そのバージョンより前の JRE はそれらをサポートしません。

于 2009-07-29T13:58:44.627 に答える
0

UnsupportedClassVersion は、コンパイルされたクラスが、実行しようとしているより新しいバージョンの JVM でコンパイルされたことを意味します。最近のいくつかのメジャー バージョンは、java 1.6==50.0、java1.5==49.0、java1.4==48.0 です。

ところで、クラスの以前のバージョンをコンパイルするようにEclipseを設定できますが、1.22-Project:Properties:Compiler:CompilerComplianceLevelまで戻ることができるかどうかはわかりません。

于 2009-07-29T14:01:45.637 に答える
0

これは基本的に、そのバージョンの JVM でサポートされていない機能を使用しているコードを実行しようとしていることを意味します。サーバーには、Eclipse で使用しているものよりも古い JVM バージョンがあります。サーバー JVM を可能な限り最新バージョンにアップグレードしてみてください。

于 2009-07-29T14:01:55.853 に答える