java.lang.UnsupportedClassVersionError を修正する方法: サポートされていないメジャー.マイナーバージョン 質問する

java.lang.UnsupportedClassVersionError を修正する方法: サポートされていないメジャー.マイナーバージョン 質問する

使用しようとしていますメモ帳++私のオールインワンツールとして、編集、実行、コンパイルなどを行います。

私は持っているJREインストールし、.../binディレクトリへのパス変数を設定しました。

Notepad++ で「Hello world」を実行すると、次のメッセージが表示されます。

java.lang.UnsupportedClassVersionError: test_hello_world :
 Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
       .........................................

ここでの問題はバージョンに関するものだと思います。Java のバージョンによっては、古すぎるか、新しすぎる可能性があります。

  1. どうすれば修正できますか?
  2. JDK をインストールし、パス変数を JRE ではなく JDK に設定する必要がありますか?
  3. PATHJRE または JDK の変数の違いは何ですか?

ベストアンサー1

表示されるバージョン番号は、クラス ファイルが互換性のある JRE のバージョンを表します。

報告された主な数値は次のとおりです。

Java SE 22 = 66,
Java SE 21 = 65,
Java SE 20 = 64,
Java SE 19 = 63,
Java SE 18 = 62,
Java SE 17 = 61,
Java SE 16 = 60, 
Java SE 15 = 59,
Java SE 14 = 58,
Java SE 13 = 57,
Java SE 12 = 56,
Java SE 11 = 55,
Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

(ソース:ウィキペディア

実際の問題を解決するには、Java コードを新しいバージョンの Java JRE で実行するか、Java コンパイラにターゲット パラメータを指定して、コンパイラに以前の Java バージョンと互換性のあるコードを作成するように指示する必要があります。

たとえば、Java 1.4 と互換性のあるクラス ファイルを生成するには、次のコマンドラインを使用します。

javac -target 1.4 HelloWorld.java

Javaコンパイラの新しいバージョンでは、ブートストラップクラスパスが設定されていないという警告が表示される可能性があります。このエラーの詳細については、ブログ投稿をご覧ください。bootclasspath なしで古いソースを設定するための新しい javac 警告

おすすめ記事