- ベストアンサー
Tomcat4の起動について
WindowsXP環境でTomcat4とApacheをインストールしてWeb環境を構築しているのですが、Tomcatの起動時のDos画面が通常の画面とは違います。 しかし、http://localhost:8080/ のメインホームは表示されるのです。 これは、エラーなのかどうかわかりません。 また正しい表示をさせるにはどうすればよいのでしょうか? 本来は「Tomcat~ を起動しました。」 などの日本語メッセージが表示されるとのことですが <現在の設定では> Catalina.start:LifecycleException: null.open: java.net.BindException: Adress already in use:JVM_Bind:8080 LifecycleException: null.open: java.net.BindException: Adress already in use:JVM_Bind:8080 at org.apache.catalina.connector.http.HttpConnector.initialize(HttpConnector.java:1130) at org.apache.catalina.core.StanderdService.initialize(StanderdService.java:454) ・・・・・ ・・・・・ ------- Root Cause ------- ・・・・・・ と言うメッセージです。 Exception表示なのでエラーなのでしょうが・・・・・ どうすれば解決するのでしょうか? 教えてくださいm(__)m
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Tomcatインストールする時にサービスとしてインストールしていませんか? そのためTomcatがサービスとして自動起動しているにもかかわらず、 startup.batで再度同じポートでTomcatを起動しているために出ている エラーメッセージではないでしょうか? 「コントロールパネル」-->「管理ツール」-->「サービス」を開いて、 Tomcatのサービスが開始されていないか確認してみてはどうでしょう?
その他の回答 (4)
- SpiralGalaxy
- ベストアンサー率39% (649/1653)
>ERROR reading java.io.ByteArrayInputStream@5bd58 >At Line 203 /web-app/servlet-mapping/ このエラーそのものは見たことがありません。 ただ、 web-app という単語と servlet-mapping という単語は WEBアプリケーションを定義する web.xml ファイルに中に記述されるものです。 Tomcatインストール後にまだ御自分の Webアプリケーションはインストールされてないとするとシステムで使う web.xml とサンプルアプリの web.xmlぐらいしかないはずですので、これらが正常に読み込めてないということではないか(自信なし)と思います。 ファイルが壊れているのかディスクが壊れているのか分かりませんが、 Tomcat を一旦アンインストールして、再度インストールしてみたらいかがでしょうか。
お礼
原因がわかりました。 自分で追加したWebアプリが原因だったみたいです。 webappの下に追加したアプリのweb.xmlファイルの定義 が間違っていました。
- SpiralGalaxy
- ベストアンサー率39% (649/1653)
>と表示されています。 >これは使用状態なのでしょうか? >変更するにはどうすればいいのでしょうか? >TCP dynabook_c7:8080 0.0.0.0:0 LISTENING この行で TCP 8080番ポートはリスニング状態にあるということがわかります。netstat コマンドは現在の状態を表しているだけで変更することはできません。 #3の方の回答を読んで「ああ、そうか」と思いました。試しにサービスでインストールしてさらにプログラムメニューから Tomcatを起動すると、質問にあるのと全くエラーメッセージが出現しました。 ということで、サービスにすでに Tomcat が登録されているものと思います。 質問文の >しかし、http://localhost:8080/ のメインホームは表示されるのです。 からも、そうだと推定できます。 サービスで自動起動するのに何らかの問題があるのなら、サービスで手動起動に切り替えて試してみてください。
お礼
ありがとうございます。 確かにサービスが起動していました。 停止にするとエラーは消えました。 しかし、下の方の補足に書いたとうり違うエラーが発生しました。
- SpiralGalaxy
- ベストアンサー率39% (649/1653)
> Adress already in use:JVM_Bind:8080 そうなんですか、単体でもそうなるんですか。 8080はもう使われてるよってメッセージですよねぇ。 ボクはwin2000なんですが、コマンドラインから netstat -a すると使用中ポート一覧が表示されるので、これで確認されてみたら? Apache、Tomcatを連携するのなら待ち受けポートは通常80番で一本化するでしょうから最終的には8080は必要ないとは思いますがちょっと気持ち悪いですね。
補足
ポートの確認を行ってみました。 すると C:\Documents and Settings\nakayama>netstat -a Active Connections Proto Local Address Foreign Address State TCP dynabook_c7:epmap 0.0.0.0:0 LISTENING TCP dynabook_c7:microsoft-ds 0.0.0.0:0 LISTENING TCP dynabook_c7:1025 0.0.0.0:0 LISTENING TCP dynabook_c7:1028 0.0.0.0:0 LISTENING TCP dynabook_c7:5000 0.0.0.0:0 LISTENING TCP dynabook_c7:8008 0.0.0.0:0 LISTENING TCP dynabook_c7:8009 0.0.0.0:0 LISTENING TCP dynabook_c7:8080 0.0.0.0:0 LISTENING TCP dynabook_c7:netbios-ssn 0.0.0.0:0 LISTENING TCP dynabook_c7:14726 0.0.0.0:0 LISTENING TCP dynabook_c7:1027 0.0.0.0:0 LISTENING TCP dynabook_c7:1029 0.0.0.0:0 LISTENING TCP dynabook_c7:3001 0.0.0.0:0 LISTENING TCP dynabook_c7:3002 0.0.0.0:0 LISTENING TCP dynabook_c7:3003 0.0.0.0:0 LISTENING UDP dynabook_c7:epmap *:* UDP dynabook_c7:microsoft-ds *:* UDP dynabook_c7:isakmp *:* UDP dynabook_c7:1026 *:* UDP dynabook_c7:3008 *:* UDP dynabook_c7:ntp *:* UDP dynabook_c7:netbios-ns *:* UDP dynabook_c7:netbios-dgm *:* UDP dynabook_c7:1900 *:* UDP dynabook_c7:15129 *:* UDP dynabook_c7:45445 *:* UDP dynabook_c7:ntp *:* UDP dynabook_c7:1900 *:* と表示されています。 これは使用状態なのでしょうか? 変更するにはどうすればいいのでしょうか?
- SpiralGalaxy
- ベストアンサー率39% (649/1653)
Apache,Tomcat の両方の待ち受けポートが 8080 になっている為競合しているのだと思います。試しに Apache を起動せずに Tomcatだけ起動すれば正常に表示されませんか? Apache,Tomcat の連携動作をさせたいわけですよね?Tomcatの server.xml の <!--Define a non SSL HTTP1.1 Connection on port 8080 --> のところを無効化するかポート番号を変更してください。 こうした後に Apache ,Tomcatの連携設定を Tomcatの server.xml, Apache の httpd.conf に設定する必要があります。
補足
残念ながら、Tomcatだけを起動した際に表示されるのです。 CLASSPATH等の環境変数が原因かとお思い、考え付くことはすべてやったのですが、やはり、上記のようなメッセージが表示されます。 ちなみに、WindowsXPでポートの状況を表示するにはどうすればよいのでしょうか?(最近XPに変えたため、かってがわからなくて・・) 競合を防ぐためにも、今の設定状態を見たいのですが・・・ アドバイスお願いします。
補足
確かに、そうでした。Exceptionは消えたのですが こんどは以下のメッセージが表示されました。 サービス Tomcat-Standalone を起動します Apache Tomcat/4.0.4 ERROR reading java.io.ByteArrayInputStream@5bd58 At Line 203 /web-app/servlet-mapping/ サービス Tomcat-Apache を起動します Apache Tomcat/4.0.4 これはなにが原因なのでしょうか?