Eclipse で Java の別のコンパイラ バージョンを使用するにはどうすればいいですか? 質問する

Eclipse で Java の別のコンパイラ バージョンを使用するにはどうすればいいですか? 質問する

さまざまな JRE の [設定] メニューのオプションと、プロジェクトごとに異なるコンパイラとビルド パスを設定する機能を使用すると、これは簡単な作業になるはずです。ただし、単純に機能しないようです。

たとえば、私は JAVA_HOME を Java 1.6 の jre に設定しています。Eclipse がこれをどのように使用するかはまだわかりませんが、これがデフォルトになっており、プロジェクトのオーバーライドは受け取っていないようです。また、Java 1.5 もインストールし、Eclipse の Java -> Installed JREs セクションでこれ用の JRE を追加しました。

私のプロジェクトでは、コンパイラの準拠レベルを 1.5 に設定しました。プロジェクトのビルド パスに、Java 1.5 JRE のシステム ライブラリを追加しました。しかし、Java 1.6 PreparedStatement にのみ存在する抽象メソッドを実装していないため、PreparedStatement を実装するクラスでコンパイル エラーが発生します。具体的には、メソッド

setAsciiStream(int, InputStream, long) and 
setAsciiStream(int, InputStream)

不思議なことに、このコードは元々 Java 1.4 用に作成されたため、Java 1.4 に対してコンパイルしたときには動作しました。Java 1.4 用の JRE を追加し、プロジェクトでそのシステム ライブラリを参照し、プロジェクトのコンパイラ レベルを 1.4 に設定すると、正常に動作します。しかし、同じ変更を行って Java 1.5 を参照しようとすると、代わりに 1.6 が使用されます。

理由について何か考えはありますか?

ベストアンサー1

メニューバーから: プロジェクト -> プロパティ -> Java コンパイラ

プロジェクト固有の設定を有効にする (チェックあり) 「実行環境からのコンプライアンスを使用する」のチェックを外します。必要な「コンパイラコンプライアンスレベル」を選択します。

これにより、「1.6」JDK を使用して「1.5」コードをコンパイルできるようになります。

実際に 1.5 JDK を使用して「1.5」準拠のコードを生成する場合は、適切な 1.5 JDK をインストールし、次の方法で Eclipse にインストール場所を伝えます。

ウィンドウ -> 設定 -> インストールされた JRE

そしてプロジェクトに戻ります

プロジェクト -> プロパティ -> Java ビルド パス -> ライブラリ

1.6 システム ライブラリを削除し、ライブラリを追加します... -> JRE システム ライブラリ -> 代替 JRE -> 必要な JRE。

正しい JRE がプロジェクトのビルド パスにあることを確認し、すべてを保存してお楽しみください。

おすすめ記事