目次
JDK準拠のコンパイラー準拠レベルとは
Eclipse内部には独自のJavaコンパイラー(Eclipse Compiler for Java,ECJ)が組み込まれています。
このコンパイラーが「どのJavaの言語仕様に従ってソースコードを解釈・チェックするか」を決める設定が準拠レベルです。
例
1.8→Java8の文法やAPIを基準にチェックする
11→Java11の文法やAPIを基準にチェックする
17→Java17の文法やAPIを基準にチェックする
21→Java21の文法やAPIを基準にチェックする
→準拠レベルが低いと、新しい文法やAPIを使うとエラーになります。
設定の単位
プロジェクト単位またはワークスペース全体の設定ができます。
JDKとの関係
JDK自体が持っているコンパイラー(javac)とは別物です。
Eclipse内部のECJが、指定した準拠レベルに合わせて動作します。
ワークスペース全体の設定(ウィンドウから設定する)
ウィンドウからコンパイラー準拠レベルを設定する手順です。
1.「ウィンドウ」 → 「設定」 をクリックします。
2.「Java」→「 コンパイラー」 をクリックし、「 コンパイラー準拠レベル」でバージョンを選択します。
プロジェクト単位の設定(プロジェクトから設定する)
プロジェクトからコンパイラー準拠レベルを設定する手順です。
1.プロジェクトを右クリックしてダイアログを表示させます。
2.ダイアログの一番下にある「プロパティ」をクリックします。
3.「Javaコンパイラー」→「コンパイラー準拠レベル」で選択します。
グレイで選択できない場合は、「プロジェクト固有の設定を可能にする」にチェックを入れると選択できるようになります。
JDK準拠レベルのエラーメッセージ
以下のエラーメッセージが出る場合は、プロジェクトのJDK準拠レベルを確認してみて下さい。
新規Javaプロジェクトを作成したときにJDK準拠レベルが1.4になっていたときがありました。
Syntax error, 'for each' statements are only available if source level is 1.5 or greater
関連の記事
Eclipse JDKのJREを設定する
Eclipse 起動オプション
Eclipseを動かしているJava VMを確認する方法
Eclipse 実行時のメモリ使用量を確認する方法
Eclipseのバージョンの確認方法
Eclipse ワークスペースの切り替え方法
Eclipse プロジェクトを別のワークスペースにコピーする(インポート)