最近、macでeclipseを起動して、servletを動かしているのですが、
よく、tomcatが起動しなくなるトラブルが発生します。
今回は、そんな良くあるトラブルについてメモしておこうと思います。
トラブル内容
tomcatが起動しない。
正確には、起動対象のtomcatのポートが、何故か使用中のため起動を行えないエラーです。
こちらのエラーですが、
他のサーバーを、同じポートで起動しているわけでもないのに、
何故か発生する事が、私のmacマシンでは最近よく起きます。
(そもそも、他のサーバー等は一切動かしていないように見える状況)
トラブル原因
最後にtomcatを起動して停止した際に、
正常に、tomcatの停止が行われていない事が原因です。
eclipseでtomcatを停止するときには、
以下の赤い停止ボタンなどを利用すると思います。
停止ボタンをクリックすると、
eclipseの画面上では、停止になっているのですが、
プロセス自体が正常に停止せず、動いたままになっている事があります。
私の個人的な経験では、Windowsでも非常に稀に発生した記憶があります。
場合によっては、停止中なのに、そのhttpサーバーが公開しているURLにアクセスしたら、
レスポンスが返ってきてしまった事もあります。
対応方法
上で挙げた内容が要因であれば、
正常終了していないプロセスを手動で停止させれば、問題なく起動するようになります。
windowsであれば、タスクマネージャー等で行います。
macであれば、アクセシビリティモニタやターミナルでプロセスをkillします。
以下は、アクセシビリティモニタで、プロセスを停止する手順です。
右上の検索部分で、javaで検索を行います。
javaのアプリケーションを起動していないにも関わらず、
プロセスが見つかる場合、正常停止出来ていないtomcatのプロセスである可能性が高いです。
停止するプロセスを選択肢、×ボタンをクリックします。
確認メッセージが表示されたら、終了ボタンをクリックします。
その後、tomcatの起動を試みると正常に起動します。
以上が、私のmac環境で良く発生する、
tomcatが起動しないトラブルとその解決方法のメモとなります。
余談ですが、tomcatを停止する前に、eclipseを強制終了してしまうと、
同じようにtomcatが動いたままになるようです。
その場合も、同じ方法で停止させる事ができます。
ただ、私の場合、eclipseを強制終了しなくても、
同じ現象が起きる事があるので、面倒で困ります。
初めて遭遇すると、ハマるような気もしますので、参考に頂ければと思います。