EclipseのJVM互換性エラー: "Incompatible JVM" の解決方法
問題
最新のEclipseをダウンロードし、Java 15のJDKをインストールしたにも関わらず、以下のエラーが発生する場合があります:
"Incompatible JVM. Version 1.8.0_261 of the JVM is not suitable for this product. Version: 11 or greater is required"
これは、Eclipseが適切なJavaバージョンを見つけられず、古いJava 8を使用しようとしていることを示しています。
原因
Eclipse 2020-09(4.17)以降のバージョンでは、Java 11以上の64ビットJVMが必要です。システムに複数のJavaバージョンがインストールされている場合、Eclipseが誤ったバージョンを選択することが原因です。
解決方法
方法1: eclipse.iniファイルの編集(推奨)
最も確実な解決方法は、Eclipseの設定ファイルで使用するJVMを明示的に指定することです。
- Eclipseインストールフォルダ内の
eclipse.ini
ファイルを開く -vmargs
の直前に以下の2行を追加する:
-vm
C:\Program Files\Java\jdk-11.0.9\bin\javaw.exe
注意
- パスは実際のJavaインストールパスに置き換えてください
-vm
とパスの行は連続している必要があります- この設定は
-vmargs
の前に配置する必要があります
方法2: 環境変数の設定
システムの環境変数 JAVA_HOME
をJava 11以上に設定する方法:
- コントロールパネル → システム → 詳細設定 → 環境変数
- システム環境変数で
JAVA_HOME
を新規作成または編集 - 値をJava 11以上のインストールパスに設定(例:
C:\Program Files\Java\jdk-11.0.9
) - Path変数に
%JAVA_HOME%\bin
を追加
方法3: JREをEclipseフォルダに配置
Java JREをEclipseインストールフォルダ内の jre
サブフォルダに配置する:
- Java 11以上のJREをダウンロード
- 解凍してEclipseフォルダ内に
jre
フォルダを作成し、内容をコピー - Eclipseを再起動
プラットフォーム別の設定
Windows
-vm
C:\Program Files\Java\jdk-11.0.9\bin\javaw.exe
macOS
-vm
/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home/bin
Linux
-vm
/usr/lib/jvm/adoptopenjdk-14-openj9-amd64/bin/java
完全なeclipse.iniの例
-vm
C:\Program Files\Java\jdk-11.0.9\bin\javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1300.v20200819-0940
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=11
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms256m
-Xmx2048m
-vm
/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home/bin
-startup
../Eclipse/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar
--launcher.library
../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.1300.v20200819-0940
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=11
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms256m
-Xmx2048m
トラブルシューティング
エラーが続く場合
Javaバージョンの確認:
bashjava -version
複数のJavaバージョンがインストールされていないか確認
Eclipseの再インストール:公式インストーラーを使用するとJREが同梱されるため、問題が解決することがあります
Eclipseのバージョンダウングレード:一時的な対策として、古いEclipseバージョン(2020-06など)を使用する
特殊なケース
場合によっては、javaw.exe
の代わりに jvm.dll
を指定する必要があります:
-vm
C:\Program Files\Eclipse Adoptium\jre-11.0.14.101-hotspot\bin\server\jvm.dll
参考情報
- Eclipse公式Wiki: eclipse.iniの設定
- Eclipse JustJ - Eclipse用に最適化されたJRE
注意点
Eclipseの実行にJava 11以上が必要ですが、これはEclipse自体の実行環境です。プロジェクトで使用するJavaバージョンは別に設定できます(Java 8から最新バージョンまで対応)。
正しく設定すると、Eclipseは問題なく起動し、Java開発を快適に進められるようになります。