IT技術の痒い所に手が届く

詳細

×閉じる

Tomcatのポート使用中の問題

別プロセスがポート使用中だと起動できません

Tomatに限った話ではありませんが、複数のアプリを起動してポートが重複するとエラーになります。

EclipseのTomat起動時に頻発するので、ここではTomcatを例に解説します。

しかし、他のアプリでもポートが重複・ポートが競合等のメッセージが出たら、同様の手法で解決できます。

ポートがすでに使用中です

例えば、EclipseのTomcatを起動すると,
こんなエラーメッセージが出ます。

Tomcatポート使用中エラーメッセージ

localhost の Tomcat v9.0 サーバー で必要な幾つかのポート (8080, 8009) がすでに使用中です。サーバーはすでに別のプロセスで稼働中であるか、システム・プロセスがそのポートを使用中である可能性があります。このサーバーを始動するには、他のプロセスを停止するか、ポート番号を変更する必要があります。

netstatでポート確認

どうやら別のアプリがポート (8080, 8009)を使っているようですね。
そこで、コマンドプロンプトからnetstatコマンドを使って、ポートを確認します。

netstat -nao | findstr 8080

このコマンドで、8080ポートのプロセスID(PID)を調べます。

            
>netstat -nao | findstr 8080
TCP 0.0.0.0:8080 LISTENING   14404
TCP [::]:8080   LISTENING    14404
          
          

上記の例だとPID14404だとわかります。

PIDからアプリを調べる

PID(プロセスID)が分かったので、そのアプリを調べましょう。

「Ctrl + Alt + Del」からタスクマネージャーを起動して「サービス」タグをクリック。
PID14404のアプリを調べます。

タスクマネージャーのサービスからPIDを調べる

何のことはない。今回は、
手動起動のTomcatがEclipse起動のTomcatを邪魔していたようです。

手動起動のTomcatを停止すれば、問題解決です。

※この問題、新人さんに本当に多いです。

強引ならPC再起動でOK

上記は正統的な手法ですが、強引ならPC再起動すればOKです。
何故なら、ポート番号が被っているだけなのでPC再起動すれば解決するのです(笑)。

Copyright(c) 2005-2022 SearchMan Sato . All Rights Reserved. 特定商取引に基づく表示