Skip to content

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を明示的に指定することです。

  1. Eclipseインストールフォルダ内の eclipse.ini ファイルを開く
  2. -vmargs の直前に以下の2行を追加する:
ini
-vm
C:\Program Files\Java\jdk-11.0.9\bin\javaw.exe

注意

  • パスは実際のJavaインストールパスに置き換えてください
  • -vm とパスの行は連続している必要があります
  • この設定は -vmargs前に配置する必要があります

方法2: 環境変数の設定

システムの環境変数 JAVA_HOME をJava 11以上に設定する方法:

  1. コントロールパネル → システム → 詳細設定 → 環境変数
  2. システム環境変数で JAVA_HOME を新規作成または編集
  3. 値をJava 11以上のインストールパスに設定(例: C:\Program Files\Java\jdk-11.0.9
  4. Path変数に %JAVA_HOME%\bin を追加

方法3: JREをEclipseフォルダに配置

Java JREをEclipseインストールフォルダ内の jre サブフォルダに配置する:

  1. Java 11以上のJREをダウンロード
  2. 解凍してEclipseフォルダ内に jre フォルダを作成し、内容をコピー
  3. Eclipseを再起動

プラットフォーム別の設定

Windows

ini
-vm
C:\Program Files\Java\jdk-11.0.9\bin\javaw.exe

macOS

ini
-vm
/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home/bin

Linux

ini
-vm
/usr/lib/jvm/adoptopenjdk-14-openj9-amd64/bin/java

完全なeclipse.iniの例

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
ini
-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

トラブルシューティング

エラーが続く場合

  1. Javaバージョンの確認

    bash
    java -version
  2. 複数のJavaバージョンがインストールされていないか確認

  3. Eclipseの再インストール:公式インストーラーを使用するとJREが同梱されるため、問題が解決することがあります

  4. Eclipseのバージョンダウングレード:一時的な対策として、古いEclipseバージョン(2020-06など)を使用する

特殊なケース

場合によっては、javaw.exe の代わりに jvm.dll を指定する必要があります:

ini
-vm
C:\Program Files\Eclipse Adoptium\jre-11.0.14.101-hotspot\bin\server\jvm.dll

参考情報

注意点

Eclipseの実行にJava 11以上が必要ですが、これはEclipse自体の実行環境です。プロジェクトで使用するJavaバージョンは別に設定できます(Java 8から最新バージョンまで対応)。

正しく設定すると、Eclipseは問題なく起動し、Java開発を快適に進められるようになります。