• 締切済み

eclipseでTomcat起動時にエラーがでる

今.eclipseを使用してサーブレットを作成しようとしているのですが、 Tomcatを起動しようとするとエラーが発生し、画面が表示できません。 http://localhost:8080/にはアクセスできるのですが、 エラーは以下です。 2007/10/04 14:45:05 致命的: エンドポイントを初期化中のエラーです java.net.BindException: Address already in use: JVM_Bind:8080 at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:297) at org.apache.coyote.http11.Http11BaseProtocol.init 2007/10/04 14:45:05 org.apache.catalina.startup.Catalina load 致命的: Catalina.start LifecycleException: プロトコルハンドラの初期化に失敗しました: at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:247) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412) 2007/10/04 14:45:05 org.apache.catalina.startup.Catalina load 情報: Initialization processed in 2714 ms 2007/10/04 14:45:06 org.apache.catalina.core.StandardService start 情報: サービス Catalina を起動します 2007/10/04 14:45:06 org.apache.catalina.core.StandardEngine start 情報: Starting Servlet Engine: Apache Tomcat/5.5.15 2007/10/04 14:45:06 org.apache.catalina.core.StandardHost start 情報: XML検証は無効です 2007/10/04 14:45:07 org.apache.tomcat.util.digester.Digester endElement 致命的: End event threw exception java.lang.IllegalArgumentException: Can't convert argument: null at org.apache.tomcat.util.IntrospectionUtils.convert(IntrospectionUtils.java:975) 致命的: アプリケーションのweb.xml中の解析エラーです java.lang.IllegalArgumentException: Can't convert argument: null at org.apache.tomcat.util.digester.Digester.createSAXException(致命的: 19行の20列目で発生しました 2007/10/04 14:45:07 org.apache.catalina.startup.ContextConfig start 致命的: 前のエラーのためにこのアプリケーションは利用できないようにマークします 2007/10/04 14:45:07 org.apache.catalina.core.StandardContext start 致命的: Error getConfigured 2007/10/04 14:45:07 org.apache.catalina.core.StandardContext start 致命的: 以前のエラーのためにコンテキストの起動が失敗しました [/Chap03] 2007/10/04 14:45:09 org.apache.catalina.core.ApplicationContext log 情報: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]] 2007/10/04 14:45:10 org.apache.catalina.core.ApplicationContext log情報: Coyote HTTP/1.1を http-8080 で起動します 2007/10/04 14:45:13 org.apache.jk.common.ChannelSocket init 情報: JK: ajp13 listening on /0.0.0.0:8009 2007/10/04 14:45:13 org.apache.jk.server.JkMain start 情報: Jk running ID=0 time=0/292 config=null 2007/10/04 14:45:13 org.apache.catalina.storeconfig.StoreLoader load 情報: Find registry server-registry.xml at classpath resource 2007/10/04 14:45:14 org.apache.catalina.startup.Catalina start 情報: Server startup in 8267 ms その際、web.xmlの中身は <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Chapter 3 Example</display-name> <servlet> <servlet-name>Chap03SampleServlet</servlet-name> <servlet-class>tmif.chap03.sample01.PersonalInfoCheckServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>Chap03SampleServlet</servlet-name> <ur1-pattern>/servlet/PersonalInfoCheck</ur1-pattern> </servlet-mapping> </web-app> です。 Tomcatのバージョンは5.5・JDKのバージョンは1.5でOSはVistaです。 このときのエラー箇所は</servlet-mapping>の中だと思うのですが 実際エラーとは思えないのですが、ここが原因なのでしょうか? よろしくおねがいします。

みんなの回答

回答No.3

起動に失敗しているのに >http://localhost:8080/にはアクセスできる というのはおかしいですよね? つまり、最初から起動している…ということだと思いますよ。 もしくは 8080 で待ち受ける別のソフトが起動しているということ。 >Tomcat5.5自体がありませんでした。 ウチのPCでは「Apache Tomcat 5.5」という名称になってました。 無いですかね~? どうしても見つからなければ netstat -a で 8080 で listening になっているソフトを探してください。

kannitiha
質問者

お礼

遅くなり申し訳ありません。 あのあと、いろいろ試したところ無事問題は解決しました。 理由はわからないのですが。 回答ありがとうございました。 また、質問することがあるのでその時はよろしくお願いします。 ありがとうございました。

kannitiha
質問者

補足

お礼が遅くなり申し訳ありません。 回答ありがとうございます。 いろいろ試したのですがなぜなのかの理由はわかりませんでした。 おそらくほんの些細な箇所の問題だとは思うのですが。。 Tomcat5.5自体がないのは実際解凍されたファイルを再度インストールしてしようとしたのですが普通やはりzipファイルからインストールしたほうが正確なのでしょうか? よろしくお願いします。 >netstat -a で8080で listeningになっているソフトを探してください こんな方法もあるんですね。 実際に実行してみたのですがどうも分からずいろいろ試しているのですがもう一度よく調べてみます。 お教え頂きありがとうございます。

回答No.2

SpiralGalaxyさんがおっしゃったように既にポート8080が使用されているために発生したエラーだと思います。 多分、kannitihaさんのPCにすでに何かしらwebサーバ(もしくはDBサーバかな)をインストールしたことがあるんじゃないでしょうか?そちらのポートを変更するか、Tomcatのポートを変更する必要があります。 ※普通は後からいれたTomcatを変更しますよね。(;^_^A Tomcatのポート変更の方法は、 %CATALINA_HOME%/conf/server.xml の<Connector>タグのportを任意のポートにすれば変更可能です。 ※8080で検索した方が早いと思います。 あれっ? 今気づきましたが、 <servlet-mapping>の<url-pattern>が<ur1-pattern>になってますよ。 数字の1でなく、小文字のlですよ。 そこも修正が必要だと思います。

kannitiha
質問者

お礼

遅くなり申し訳ありません。 あのあと、いろいろ試したところ無事問題は解決しました。 理由はわからないのですが。 回答ありがとうございました。 また、質問することがあるのでその時はよろしくお願いします。 ありがとうございました。

kannitiha
質問者

補足

お礼が遅くなり申し訳ありません。 回答ありがとうございます。 いろいろ試したのですがなぜなのかの理由はわかりませんでした。 間違いご指摘ありがとうございます。 それでですが、一般にOSが違うとやはりTomcatなどの起動もそれなりに違ってくるのでしょうか? 本を見て実行したのですが、その際本では主にXPに関して書かれているのですが、これをVistaでして動かないとき、それはVista自体では行えないということはあったりするのでしょうか? よろしくお願いします。

回答No.1

>java.net.BindException: Address already in use: JVM_Bind:8080 すでにポート8080が使われているってことですよ。 Tomcatインストールする時にサービス登録したんじゃないですか? コンパネ、管理ツールからサービス確認して Tomcat5.5 をまず停止して、「手動」に切り替えてください。それでうまくいくと思います。

kannitiha
質問者

お礼

遅くなり申し訳ありません。 あのあと、いろいろ試したところ無事問題は解決しました。 理由はわからないのですが。 回答ありがとうございました。 また、質問することがあるのでその時はよろしくお願いします。 ありがとうございました。

kannitiha
質問者

補足

回答ありがとうございます。 コントロールパネルから管理ツールでサービス確認してみたのですが、Tomcat5.5自体がありませんでした。 本来ここにある場合が「手動」に変更可能ということなのでしょうか? よろしくお願いします。

関連するQ&A