タイトル: ビルド・パスが不完全であるため、プロジェクトはビルドされませんでした。org.apache.tomcat.InstanceManager のクラス・ファイルが見つかりません。ビルド・パスを修正...
SEOタイトル: プロジェクトはビルドされませんでした org.apache.tomcat.InstanceManager 対処
| この記事の要点 |
|---|
|
エラーの状況
Eclipse で動的 Web プロジェクト(Dynamic Web Project)を開いたときに、問題ビューに以下のエラーが表示されます:
Description: ビルド・パスが不完全であるため、プロジェクトはビルドされませんでした。
org.apache.tomcat.InstanceManager のクラス・ファイルが見つかりません。
ビルド・パスを修正してから、プロジェクトの取り消しおよび再ビルドを行ってください。
Resource: (project name)
Path: (project path)
Location: 不明
Type: Java の問題
Eclipse が InstanceManager クラスを見つけられず、プロジェクト全体のビルドが失敗している状態です。
原因
org.apache.tomcat.InstanceManager はTomcat のランタイム jar に含まれるクラスです。Eclipse は動的 Web プロジェクトに「ターゲット・ランタイム」として Tomcat を関連付けることで、このクラスを認識します。
このエラーは以下の状況で発生:
- Tomcat ランタイムがEclipse に登録されていない
- プロジェクトにターゲット・ランタイムが選択されていない
- 登録した Tomcat ランタイムのパスが無効(Tomcat フォルダ移動・削除)
- 他人のプロジェクトをgit clone した直後(自分の環境に Tomcat 設定がない)
対処方法
方法 1: ターゲット・ランタイムを設定
- プロジェクトを右クリック → プロパティ
- 左メニューから ターゲット・ランタイム を選択
- 右の一覧で使用したい Tomcat(例: Apache Tomcat v9.0)にチェック
- 「適用して閉じる」
一覧に Tomcat が出てこない場合は方法 2 でランタイム登録から始める必要があります。
方法 2: Eclipse に Tomcat ランタイムを登録
- ウィンドウ → 設定
- サーバー → ランタイム環境
- 追加 → 「Apache Tomcat v9.0」を選択 → 次へ
- インストール・ディレクトリー: Tomcat をインストールしたフォルダを指定(例:
C:\apache-tomcat-9.0.71) - JRE: 使用する JDK を選択
- 完了
- 方法 1 に戻ってプロジェクトに関連付け
方法 3: サーバー追加で自動関連付け
- Java EE パースペクティブに切替
- 下部のサーバービューを開く(なければ ウィンドウ → ビューの表示 → サーバー)
- 右クリック → 新規 → サーバー
- 「Apache Tomcat v9.0」を選択して次へ
- Tomcat パスを設定
- 使用可能欄から該当プロジェクトを追加
- 完了
この方法だと、プロジェクトのターゲット・ランタイムも自動的に設定されます。
確認手順
設定後、以下を確認:
- プロジェクト右クリック → プロパティ → Java ビルド・パス → ライブラリー
- 「Apache Tomcat v9.0」がリストに表示されていればOK
- プロジェクトをクリーン: プロジェクト → クリーン
- 問題ビューでエラーが消えていることを確認
関連エラー
| エラー | 原因 |
|---|---|
型 org.apache.tomcat.InstanceManager を解決できません | 同じ問題、ソース側でこのエラー |
HttpServletRequest を解決できません | Servlet API jar 未認識(Tomcat ランタイム未関連付け) |
The superclass "javax.servlet.http.HttpServlet" was not found | JSP/Servlet で同種 |
Java compiler level does not match the version of the installed Java project facet | JDK バージョン不一致 |
git clone 直後の標準手順
他人の動的 Web プロジェクトを clone した場合、自分の環境では Tomcat 設定が必要です:
- Eclipse でインポート → 既存プロジェクトで clone したフォルダを取り込み
- 方法 2 で Tomcat ランタイムを登録(一度やれば次から不要)
- 方法 1 でプロジェクトに関連付け
- 方法 3 でサーバーに追加
- プロジェクト → クリーン