1

このを実行しようとして いますが、「.class ファイルのバージョン番号が正しくありません...」というエラーが表示されます。私はjdkバージョン1.6を使用しており、例ではjdk 1.5を使用するように求めています。Java は下位互換性をサポートする必要があります。jdk 1.6 で例を実行するにはどうすればよいですか?

4

2 に答える 2

1

ここには、多くの新しい人々が陥る微妙な罠があります。時々-しばしば、実際に-あなたはjava.exeあなたのマシンにインストールされた古いJDKからのコピーを持っているかもしれません、あなたが知らないあなたのパスの早い段階で現れます。光沢のある新しいJDK1.6コンパイラを使用してクラスをコンパイルし、古いコンパイラを使用してクラスを実行しようとすると、java.exeここに記載されているエラーが発生する可能性があります。その古いjava.exe場所がパス上でJDKディレクトリよりも前にあるbin場合は、コマンドラインからコンパイラを見つけることができますが、java.exeそれ自体の正しいバージョンは見つかりません。

エクストラjava.exeは、多くの場合、Javaプラグインの古いインストーラーによってインストールされました。これにより、Webブラウザーでアプレットを実行できます。不正java.exeはあなたのWINDOWSディレクトリ、またはいくつかの変種にある可能性があります(これは特にWindows中心の問題です)。

Javaプラグインを含むJDK1.6をインストールした場合はjava.exe、WINDOWSディレクトリ内ののコピーを削除するだけです。それを望まない場合は、JDKのbinディレクトリがの前になるようにパスを変更する必要がありますWINDOWS

于 2011-09-09T15:36:42.327 に答える
1

古い JVM で新しいバージョン番号のクラス ファイルを実行しようとすると、「.class ファイルのバージョン番号が正しくありません...」というエラーが発生します。(それでも、すべての場合ではありません)

新しい JVM で古いバージョン番号のクラス ファイルを実行すると、うまくいくはずです。


を使用して、クラス ファイルのバージョン番号を確認できますjavap -v <full-class-name>。バージョンは次のとおりです。

major    minor       Java
45       3           1.0
45       3           1.1
46       0           1.2
47       0           1.3
48       0           1.4
49       0           1.5
50       0           1.6

で思うんですけど ...

51       0           1.7
于 2011-09-09T15:30:32.607 に答える