2009年11月16日月曜日

Tomcatの終了方法

サーバー:Tomcat v6.0
OS:Windows7
開発環境:Eclipse
Servlet を書いてた時の話。

Eclipse で Tomcat を動かしているときに、 Eclipse が固まった。
Eclipse を強制終了させて、コンパイル、実行しようとするとエラーが出てきた。

Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).

なんか、Tomcatが動いたままらしい。


以下、エラーを対処するために、検索したりいろいろやったこと。

検索したら同じような問題を抱えている人がいた
http://ap.atmarkit.co.jp/bbs/core/fjava/12709?page=4

ポートの状態を確認できるということで、
netstat -a | find "LISTENING"
を実行してみる。

確かに8080と8009が開いてた。


とりあえず、Tomcat\bin\shutdown.bat を実行してみる。

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program

JAVA_HOME 設定してなかった。

>set JAVA_HOME
で今の環境変数の値が見れるのね。

C:\(jdk1.6.0_14の場所)\bin
で、設定した。

C:\(Tomcatの場所)\bin>shutdown.bat
The JAVA_HOME environment variable is not defined correctly This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE

怒られた。(´・ω・`)


C:\(jdk1.6.0_14の場所)
に設定しなおして再度実行。

実行できた。binを含めるんだと思ってたら、いらないらしい。
でも、エラーを大量に吐いてる。
java.io.FileNotFoundException:~.log(アクセスが拒否されました。)
と書いてある。
権限の問題とかかなぁ。

でもまあ、ポートも閉じたし、Eclipseでエラーを吐かなくなった。

とりあえず、よかったよー。


おまけ
Eclipse のコンパイラの設定方法。
http://www.searchman.info/java_eclipse/1070.html