EclipseでTomcatが起動しない原因と対処法【エラー別に解説】

Web

EclipseでTomcatを起動しようとしたら動かなくなった——Java学習中や開発現場でも頻繁に遭遇するトラブルです。
原因はポート競合・タイムアウト・JavaバージョンのミスマッチなどEclipse独自の設定まわりに集中しており、それぞれ対処法が異なります。
この記事では、表示されるエラーメッセージ別に原因と解決手順を解説します。


スポンサーリンク

まず確認:コンソールとエラーメッセージを見る

Tomcatが起動しない場合、Eclipse下部のコンソールタブに「重大(SEVERE)」などのログが出ていることが多くあります。
まずコンソールを確認し、エラーの内容を把握してから以下の対処法に進むことで、最短で解決できます。

症状・エラーメッセージ主な原因
ポート 8080 はすでに使用中ですTomcatプロセスが残っている・別アプリと競合
〇〇秒内に始動できませんでした(タイムアウト)起動タイムアウト値が短すぎる
ドキュメントベースが存在しない、又は読めないワークスペースの一時フォルダーが壊れている
Failed creating java / 指定されたパスが見つかりませんJDKのパスが変わっている・バージョン不一致
1つ以上のポートが無効Tomcat管理ポート(8005)の設定値が空
エラーなし・ステータスが「停止済み」のままプロジェクトのコンパイルエラーが残っている

対処法1:Tomcatの「クリーン」を実行する

Eclipseが内部に持つTomcatの作業ディレクトリ(tmp0tmp1フォルダー)が壊れていると、起動できなくなることがあります。
まず試すべき最も手軽な方法がクリーンです。

  1. Eclipse下部の「サーバー」タブを開く
    (表示されていない場合は「ウィンドウ」→「ビューの表示」→「その他」→「サーバー」を選択)
  2. 一覧のTomcatを右クリックして「クリーン」を選択する
  3. クリーン完了後、Tomcatを起動する

pom.xmlの変更後や長時間使用後に起動できなくなった場合は、クリーンだけで解決することが多くあります。


対処法2:ポート競合を解消する

Tomcatは起動時にポート8080・8005・8009の3つを使います。
Eclipseを強制終了した直後や、以前のTomcatプロセスが残っていると、これらのポートが使われたままになり起動できなくなります。

Windowsでプロセスを終了する

コマンドプロンプトを開き、以下のコマンドでポートを使用しているプロセスIDを調べます。

netstat -ano | findstr :8080

出力例:

TCP  0.0.0.0:8080  0.0.0.0:0  LISTENING  19508

末尾のPID(例:19508)を使って、タスクマネージャーから該当プロセスを終了するか、以下のコマンドで強制終了します。

taskkill /F /PID 19508

PowerShellを使う場合は、8080・8005・8009の3ポートを一括終了できます。

$processes = Get-Process -Id (Get-NetTCPConnection -LocalPort 8080,8005,8009).OwningProcess
foreach($process in $processes) { Stop-Process $process.Id }

Macでプロセスを終了する

ターミナルを開き、以下のコマンドでポートを使用しているプロセスを調べます。

lsof -i:8080

PIDを確認して、killコマンドで終了します。

kill -9 PID番号

Eclipseのポート設定を変更する方法もある

プロセスを終了しても解決しない場合や、他のサービスが8080を使い続ける環境では、Tomcatのポート番号自体を変更します。

  1. 「サーバー」タブでTomcatをダブルクリックしてサーバー設定画面を開く
  2. 右側の「ポート」欄でHTTPポートを「8080」から別の番号(例:8090)に変更する
  3. 管理ポートも「8005」から「8015」に変更する
  4. Ctrl + S で保存してからTomcatを起動する

対処法3:起動タイムアウトを延長する

以下のようなエラーが出る場合は、Tomcatの起動に45秒では間に合っていません。

サーバー ローカル・ホスト の Tomcat v9.0 サーバー は 45 秒内に始動できませんでした。
サーバーがより多くの時間を必要とする場合、サーバー・エディターでタイムアウトを大きくしてください。

タイムアウト値を延長します。

  1. 「サーバー」タブでTomcatをダブルクリックしてサーバー設定画面を開く
  2. 「タイムアウト」セクションの「開始(秒)」の値を 45 から 120180 程度に増やす
  3. Ctrl + S で保存してからTomcatを再起動する

対処法4:JavaとTomcatのバージョンの組み合わせを確認する

JavaをアップデートしたあとにTomcatが起動しなくなる原因のひとつがバージョンの不一致です。
Apache公式ドキュメントによると、TomcatとJavaの対応関係は以下のとおりです。

Tomcatバージョン必要なJavaの最低バージョン
Tomcat 9.xJava 8以上
Tomcat 10.0.xJava 8以上
Tomcat 10.1.xJava 11以上
Tomcat 11.0.xJava 17以上

たとえばJava 8の環境でTomcat 10.1を使おうとすると起動できません。
また、JavaをアップデートすることでEclipseが参照するJDKのパスが変わり、旧パスが無効になるケースもあります。

EclipseのJRE設定を確認・変更する

  1. 「ウィンドウ」→「設定」→「Java」→「インストール済みのJRE」を開く
  2. 現在チェックが入っているJREのパスが正しいか確認する
  3. パスが古い場合は「追加」ボタンで正しいJDKを追加してチェックを付け直す

サーバーランタイム環境のJREを更新する

  1. 「ウィンドウ」→「設定」→「サーバー」→「ランタイム環境」を開く
  2. 使用中のTomcatを選択して「編集」をクリックする
  3. 「JRE」のドロップダウンを正しいJDKに変更して「完了」をクリックする

対処法5:Tomcat管理ポートの設定値を修正する

1つ以上のポートが無効なため、サーバーを起動できません」というエラーが出る場合、Tomcat管理ポート(8005)の設定値が空(-)になっている可能性があります。

  1. 「サーバー」タブでTomcatをダブルクリックする
  2. 「ポート」欄の「Tomcat管理」が空欄または無効値(-)になっていないか確認する
  3. 空欄の場合は「8005」と入力する
  4. Ctrl + S で保存してからTomcatを起動する

対処法6:プロジェクトのターゲットランタイムを確認する

プロジェクトにTomcatのランタイムが紐づいていないと、起動しても正常に動作しないことがあります。

  1. プロジェクトエクスプローラーでプロジェクトを右クリックして「プロパティ」を開く
  2. ターゲットランタイム」を選択する
  3. 使用しているTomcatにチェックが入っていない場合はチェックを入れる
  4. 「適用して閉じる」をクリックしてTomcatを再起動する

対処法7:Serversフォルダー(ワークスペース設定)を削除して再作成する

ワークスペース内のTomcat設定ファイルが壊れている場合、サーバーを削除して作り直すと解決することがあります。

  1. 「サーバー」タブでTomcatを右クリックして「削除」を選択する
  2. プロジェクトエクスプローラーに「Servers」フォルダーが表示されている場合、フォルダーごと削除する
  3. 「サーバー」タブの空欄を右クリックして「新規」→「サーバー」を選択する
  4. 使用するTomcatのバージョンを選択してウィザードに従い再設定する
  5. プロジェクトを追加してサーバーを起動する

対処法8:コンパイルエラーを解消してからTomcatを起動する

プロジェクトにコンパイルエラー(赤いバツ印)が残っていると、Tomcatが「停止済み」のまま動かないことがあります。

  1. プロジェクトエクスプローラーでプロジェクトに赤いバツが出ていないか確認する
  2. エラーがある場合は「プロジェクト」→「プロジェクトのクリーン」を実行して再ビルドする
  3. コンパイルエラーがなくなったことを確認してからTomcatを起動する

対処法9:Eclipseを再起動する

Eclipseを強制終了したあとや、長時間使い続けたあとに内部状態がおかしくなっているケースでは、Eclipseを完全に終了して再起動するだけで解決することがあります。
再起動の前に作業中のファイルを保存するのを忘れないようにしてください。


TomcatとJavaの対応バージョン早見表(Apache公式より)

新しい環境を構築する際の参考として、Apache公式ドキュメントにもとづいた対応表を掲載します。

Tomcatバージョン必要Javaサポート状況(2025年時点)
Tomcat 7.xJava 6以上サポート終了(EOL)
Tomcat 8.5.xJava 7以上サポート終了(EOL)
Tomcat 9.xJava 8以上サポート中
Tomcat 10.1.xJava 11以上サポート中
Tomcat 11.0.xJava 17以上サポート中

Tomcat 7・8.5はすでにサポートが終了しているため、新規環境ではTomcat 9以降の使用が推奨されます。


まとめ

EclipseでTomcatが起動しない場合の確認順序は以下のとおりです。

  1. コンソールでエラーメッセージを確認する
  2. Tomcatの「クリーン」を試す(最も手軽)
  3. ポート競合(8080・8005・8009)を解消する
  4. タイムアウト値を延長する
  5. JavaとTomcatのバージョン対応を確認する
  6. Serversフォルダーを削除して再作成する

多くの場合「クリーン」か「ポート競合の解消」で解決します。
それでも改善しない場合はコンソールの「重大」ログの内容をもとに原因を絞り込み、上記の対処法を組み合わせて試してください。


参考情報源:

コメント

タイトルとURLをコピーしました