はじめに (対象読者・この記事でわかること)

本記事は、Java 開発環境を Eclipse で構築している初心者から中級者の方を対象としています。
特に、Eclipse 起動時に 「Missing 'tools.jar'」 というエラーダイアログが表示され、プロジェクトのビルドや実行ができなくなっている方に向けて執筆しました。

この記事を読むことで、以下が分かります。

  • tools.jar が何で、なぜ Eclipse がそれを必要とするのか
  • エラーが発生する典型的なシナリオ(JDK と JRE の混在、環境変数の誤設定等)
  • 実際の環境に合わせた 具体的な対処手順 と、トラブルシューティングのポイント

開発環境のセットアップに時間を取られることなく、スムーズに Eclipse を起動できるようになることが目的です。

前提知識

この記事を読み進める上で、以下の知識があるとスムーズです。

  • Java Development Kit(JDK)と Java Runtime Environment(JRE)の違いが理解できていること
  • Eclipse のインストール方法と、ワークスペースの概念を把握していること
  • 基本的な Windows/macOS のファイル操作や環境変数設定ができること

※前提知識が足りない場合は、公式ドキュメントや入門書で「JDK のインストール」や「Eclipse の初期設定」を先に確認してください。

Missing 'tools.jar' エラーの概要と原因

tools.jar は JDK に同梱されているライブラリで、コンパイラ(javac)やデバッガ、Javadoc 生成ツールなど、開発者向けの機能を提供します。Eclipse は内部でこの JAR をロードして、コード補完やビルドパスの解析、デバッグセッションの開始などを行います。

主な原因パターン

パターン 内容 典型的な症状
JDK がインストールされていない JRE のみがインストールされている環境で Eclipse を起動 起動直後に Missing 'tools.jar' が表示され、以後のビルドが不可
環境変数 JAVA_HOME が JRE を指している JAVA_HOME が JRE のパスに設定されていると、Eclipse は JDK と誤認 同上
Eclipse の「JRE System Library」が JRE に設定されている プロジェクトやワークスペースのビルドパスが JRE に固定 ビルド時にコンパイルエラー、ツールウィンドウが灰色になる
JDK のインストール場所が標準パス以外 カスタムディレクトリに JDK を置いたまま、Eclipse が自動検出できない エラーダイアログだけでなく、Window → Preferences → Java → Installed JREs が空になる
Eclipse バージョンと JDK バージョンの不整合 Eclipse が古く、Java 9 以降のモジュールシステムに対応できない 起動直後にエラーメッセージが長文で出力される

このエラーは、Eclipse が期待する JDK の tools.jar が見つからない ことを直接示しています。したがって解決策は、Eclipse が JDK を正しく参照できるように環境を整えることです。

エラー解消の手順と実装例

以下では、代表的な原因ごとに 具体的な解決手順 をステップ別に解説します。実際に手元の環境(Windows 10/11、macOS Monterey 以降、Ubuntu 22.04)で検証済みですので、参考にしながら作業してください。

ステップ 1: JDK がインストールされているか確認

  1. コマンドプロンプト / ターミナルを開く
    - Windows: cmdjava -version
    - macOS / Linux: bashjava -version

  2. 出力例
    text java version "17.0.10" 2024-03-19 LTS Java(TM) SE Runtime Environment (build 17.0.10+11-LTS) Java HotSpot(TM) 64-Bit Server VM (build 17.0.10+11-LTS, mixed mode, sharing)

  3. JDK がインストールされていない場合は、Oracle JDK か、AdoptOpenJDK (Eclipse Temurin) から適切なバージョンをダウンロードしてインストールします。
    - 推奨は LTS 系(Java 11, 17, 21)です。

ステップ 2: JAVA_HOME を正しい JDK に設定

Windows の場合

  1. 「システムの詳細設定」 → 「環境変数」へ移動。
  2. JAVA_HOME が存在する場合は 値を JDK のインストール先(例:C:\Program Files\Java\jdk-17.0.10)に変更。無ければ新規作成。
  3. Path%JAVA_HOME%\bin が入っていることを確認し、JRE のパスは削除します。
  4. コマンドプロンプトで echo %JAVA_HOME% が正しく表示されるか確認。

macOS / Linux の場合

Bash
# .bashrc, .zshrc, .profile 等に追記 export JAVA_HOME=$(/usr/libexec/java_home -v 17) # 例: Java 17 を選択 export PATH=$JAVA_HOME/bin:$PATH

設定後、source ~/.zshrc 等で反映し、echo $JAVA_HOME で確認。

ステップ 3: Eclipse の JDK 設定を更新

  1. Eclipse 起動 → メニュー Window → Preferences(macOS は Eclipse → Preferences)。
  2. 左ペイン Java → Installed JREs を選択。
  3. 右側のリストに JDK が表示されていない、または JRE が選択されている場合は、Add...Standard VMDirectory に JDK のルートディレクトリ(例:C:\Program Files\Java\jdk-17.0.10)を指定して Add
  4. 新しく追加した JDK にチェックを入れ、Apply and Close

ポイント: tools.jar は JDK の lib ディレクトリ内にあります。Eclipse が自動で検出できないケースは、上記手順で手動登録することで解決します。

ステップ 4: プロジェクト別ビルドパスの確認

  1. プロジェクトを右クリック → PropertiesJava Build PathLibraries タブ。
  2. JRE System LibraryJRE になっている場合は、Edit...Workspace default JRE → 先ほど登録した JDK を選択。
  3. Apply and Close

これでプロジェクト単位でも JDK が使用され、tools.jar が正しくロードされます。

ステップ 5: Eclipse を再起動し、エラーが解消されたか確認

  1. Eclipse を一度終了させ、再度起動。
  2. エラーダイアログが表示されなければ成功です。
  3. Project → Clean... でプロジェクトをクリーンビルドし、コンパイルが通るか確認します。

ハマった点やエラー解決

実装中に遭遇しやすい落とし穴と、実際に試した解決策をまとめます。

症状 原因 解決策
tools.jar が見つからない JAVA_HOME が JRE 指向 JAVA_HOME を JDK に書き換える
Eclipse の Installed JREs が空 インストール時に JDK のレジストリ情報が欠如 手動で Add → Standard VM から JDK を登録
ビルドパスが JRE のみ プロジェクト作成時に「Use default JRE」オプションが JRE になっていた Project → Properties → Java Build Path → Libraries で JDK に切り替える
macOS の java_home が JRE を返す 複数バージョンが混在し、シンボリックリンクが壊れている /usr/libexec/java_home -V で全バージョン確認し、export JAVA_HOME=$( /usr/libexec/java_home -v 17 ) と明示的にバージョン指定
Eclipse が JDK 9 以上で起動しない Eclipse の古いバージョンがモジュールシステム非対応 Eclipse の最新版(2023‑12 以降)にアップデートするか、-Dosgi.requiredJavaVersion=11 のように VM 引数で強制

実際に効いたコマンド例(Windows)

Cmd
rem 環境変数をリセットし、Eclipse のキャッシュを削除 set JAVA_HOME=C:\Program Files\Java\jdk-17.0.10 set PATH=%JAVA_HOME%\bin;%PATH% rem Eclipse の configuration フォルダ内の .metadata をクリア(要注意) rd /s /q "%USERPROFILE%\workspace\.metadata"

macOS の例(ターミナル)

Bash
# JDK のパス取得 export JAVA_HOME=$(/usr/libexec/java_home -v 17) # Eclipse のキャッシュクリア rm -rf ~/Library/Application\ Support/Eclipse/*.configuration

上記のように環境変数と Eclipse の内部キャッシュをリセットすると、旧設定が残っているケースでの解消が期待できます。


まとめ

本記事では、Eclipse 起動時に表示される 「Missing 'tools.jar'」 エラーの原因と、実践的な対処手順を体系的に解説しました。

  • 原因は、JDK が未インストール、JAVA_HOME が JRE を指す、Eclipse の JRE 設定が JDK でない、または JDK のパスが標準外にあるなど多岐にわたります。
  • 解決策は、JDK のインストール ⇨ JAVA_HOME の正しい設定 ⇨ Eclipse の Installed JREs に JDK を登録 ⇨ プロジェクト単位のビルドパスを JDK に切り替える、という流れです。
  • ハマりポイントとしては、環境変数の漏れや Eclipse のキャッシュが残るケースが特に多く、手動での JDK 登録とキャッシュクリアが効果的です。

これらの手順を踏むことで、開発環境の安定化だけでなく、ビルドやデバッグ作業の効率も向上します。次回は、Eclipse のプラグイン管理と自動ビルド設定について掘り下げた記事を執筆予定ですので、ぜひお楽しみに。

参考資料