HOWTO · Java
Eclipse で Java のバージョンを変更する
この記事では、Eclipse で現在のプロジェクトの Java バージョンを変更する方法を説明します。
このページの内容
Eclipseのプロジェクトで使用するJavaのバージョンを変更するには、まず使用したいJava Development Kit(JDK)またはJava Runtime Environment(JRE)をコンピューターにインストールし、そのインストール先をEclipseに登録してプロジェクトで選択します。Eclipseのランタイム設定からJavaをダウンロードしたりインストールしたりすることはできません。新規プロジェクトと既存プロジェクトでは、それぞれ個別にランタイムを選択する必要があります。また、この選択はJavaコンパイラーの準拠レベルとは別の設定です。
インストール済みのJREをEclipseに追加する
Eclipseでは、コンピューターにすでにインストールされているJavaランタイムを選択できます。プロジェクトを変更する前に、使用するJDKまたはJREをインストールしてください。JDKにはランタイムに加えて開発ツールも含まれるため、Javaソースコードをコンパイルする場合に一般的に適しています。JREは実行環境を提供します。利用できるインストールパッケージやJavaのリリースは、OSとプロジェクトの要件によって異なります。
EclipseのJavaランタイム設定でインストール先を指定し、識別しやすい名前を付けてローカルのインストールを登録します。設定名や画面の移動方法はEclipseのリリースによって異なる場合があります。特定のメニュー操作に頼らず、使用中のバージョンにあるJavaランタイム設定を使ってください。登録するとEclipseにJavaのインストール場所が伝わりますが、Javaがインストールされるわけではなく、すべてのプロジェクトでそのランタイムが自動的に選択されるわけでもありません。
使用したいインストールがEclipseで利用可能なランタイムの一覧にあれば、その項目を使えます。一覧にない場合は、先にJavaをインストールしてから、ローカルのインストール先をEclipseに追加してください。複数のインストールがある場合は、Javaのバージョンやディストリビューションが分かる名前を付けるとよいでしょう。後でプロジェクトのランタイムを選ぶときに見分けやすくなり、名前の似たランタイムを取り違えにくくなります。
Eclipseの新規プロジェクトでJavaのバージョンを選択する
プロジェクトを作成するときは、登録済みのランタイムからプロジェクトのJREを選びます。この選択によって、その設定でプロジェクトを起動またはビルドするときに、Eclipseが関連付けるJavaランタイムが決まります。アプリケーションと依存関係が必要とするバージョンを選んでください。新しいJavaをインストールしただけで、古いリリースを対象とするアプリケーションとの互換性が保証されるわけではありません。
プロジェクトの作成時に目的のランタイムが表示されない場合は、Eclipseに登録済みのランタイムを確認し、ローカルのJDKまたはJREが追加されているかを確かめてください。その後、プロジェクトのランタイムをもう一度選択します。プロジェクトには、コンパイラーの準拠レベルやソース互換性について別の設定がある場合もあります。この設定は、コンパイラーが対象とするJava言語レベルとクラスファイルレベルを制御します。ランタイムを選択しても、この設定が必ず変更されるとは限りません。両方をプロジェクトの要件に合わせてください。ただし、同じ設定だと考えないようにしましょう。
Eclipseの既存プロジェクトでJavaのバージョンを変更する
既存プロジェクトでは、そのプロジェクトに関連付けられたランタイムを、使用したい登録済みのJDKまたはJREに変更します。Eclipseにはプロジェクト設定がありますが、項目名や配置はリリースによって異なります。プロジェクトのJavaランタイムまたはJRE System Libraryの設定を探し、現在のランタイムを置き換えて、使用中のEclipseの操作に従って変更を適用してください。目的のランタイムが選択肢にない場合は、先にローカルのインストールを登録します。
変更を適用したら、プロジェクトのランタイム設定を確認し、目的のインストールが指定されていることを確かめてください。プロジェクトを実行し、アプリケーションが報告するJavaのバージョンを調べる方法もあります。プロジェクト内で確認する簡単な方法として、次のJavaプログラムを実行すると、実行に使われたJVMのランタイムバージョンが表示されます。この例の記録済みの実行では 17.0.20.1 と表示されました。この値はその実行に使われたJVMを示します。実際の出力は、プロジェクトで選択したJVMによって変わります。
次の例を実行してください。
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("java.version"));
}
}
17.0.20.1
プログラムが正常に起動すれば、どのJVMで実行されたかを確認できます。ただし、コンパイラーのソースレベルや準拠レベルまでは分かりません。表示されたランタイムが意図したバージョンと異なる場合は、プロジェクトのランタイム選択を見直し、実行しているプロジェクトまたは起動設定を確認してください。移行を完了するには、コンパイラーの互換性設定も別途確認し、必要なライブラリーとビルドツールが選択したJavaリリースに対応していることを確かめます。