ここから本文です

EclipseでTomcatの起動がコケる・・エラー内容の意味がわからない。

jav********さん

2012/6/1801:28:03

EclipseでTomcatの起動がコケる・・エラー内容の意味がわからない。

JREの定義:C:\pleiades\java\6
Tomcatのバージョン:5.X
Tomcatホーム&ベース:C:\pleiades\tomcat\5.5

エラー内容は以下のとおりです。もう意味がわかりません・・どこから手をつければいいのやら。
わかる方、起動に失敗しないようにするにはどうすればよいか教えてください。
①致命的: エンドポイントを初期化中のエラーです
java.net.BindException: Address already in use: JVM_Bind:8080
②致命的: Catalina.start
LifecycleException: プロトコルハンドラの初期化に失敗しました: java.net.BindException: Address already in use: JVM_Bind:8080
③致命的: Parse Fatal Error at line 30 column 2: The markup in the document following the root element must be well-formed.
org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
④警告: 参照の解決中に予測しない例外が発生しました
org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
⑤致命的: Exception processing Global JNDI Resources
javax.naming.NamingException: The markup in the document following the root element must be well-formed.
⑥致命的: Parse Fatal Error at line 30 column 2: The markup in the document following the root element must be well-formed.
org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
⑥致命的: キー UserDatabase でユーザデータベースを検索中の例外です
javax.naming.NamingException: The markup in the document following the root element must be well-formed.
⑦致命的: Catalina.start:
LifecycleException: キー UserDatabase でユーザデータベースコンポーネントが見つかりません

補足ありがとうございます。
コマンドプロンプトでnetstat -aを実行したところ、

TCP 0.0.0.0:8080 Shizuka-PC:0 LISTENING

と表示されました。これをどのサービスで行われているかを特定し、停止する方法はありますでしょうか。

閲覧数:
31,927
回答数:
2
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

che********さん

編集あり2012/6/1808:14:48

tomcat(か何か)が既に8080で起動されている。
→8080で起動済のサービスを停止する。

server.xml、user.xml等のxmlに誤りがある。
→該当のxmlをIEで開けば文法誤りがわかるので修正する。


[補足]
Tomcatだと仮定すればコマンドプロンプトで「net start | findstr Tomcat」と入力し、
表示されるサービス名に対して「net stop "表示されたサービス名"」を入力する。
もう一回「net start | findstr Tomcat」を入力して表示されなければ停止している。
※コントロールパネル→管理ツール→サービスから停止でもOK。
あわせてスタートアップの種類も自動から手動へ変更する。


Tomcatではない場合、環境にもよりますが、
以下のファイルを開いて8080を検索してみてください。
(定義されてない場合もあります)
C:\WINDOWS\system32\drivers\etc\service

それでサービスが特定できない場合、「netstat -b」または「netstat -ao」でポートを開いた
実行ファイル(exeなど)またはPID(プロセスID)を確認した方が確実かもしれません。
特定したプロセスをタスクマネージャから終了してください。
OSによってタスクマネージャの項目が微妙に異なるので細かくは説明しません。


xmlの方はどのファイルかの30行目あたりのタグが閉じられていないかと思います。
メッセージの出方からすると1つじゃないかもしれません。

ベストアンサー以外の回答

1〜1件/1件中

t_s********さん

2012/6/1811:56:32

せっかく、前の回答者の方が、「netstat -ao」で、と書かれているのに。。。。
-aoにすると、プロセスIDが表示されますよ。

後はタスクマネージャでプロセスIDを表示させましょう。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる