プロが教える店舗&オフィスのセキュリティ対策術

今.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>の中だと思うのですが
実際エラーとは思えないのですが、ここが原因なのでしょうか?
よろしくおねがいします。

A 回答 (3件)

起動に失敗しているのに



http://localhost:8080/にはアクセスできる

というのはおかしいですよね?
つまり、最初から起動している…ということだと思いますよ。
もしくは 8080 で待ち受ける別のソフトが起動しているということ。


>Tomcat5.5自体がありませんでした。

ウチのPCでは「Apache Tomcat 5.5」という名称になってました。
無いですかね~?

どうしても見つからなければ
netstat -a で 8080 で listening になっているソフトを探してください。

この回答への補足

お礼が遅くなり申し訳ありません。
回答ありがとうございます。
いろいろ試したのですがなぜなのかの理由はわかりませんでした。
おそらくほんの些細な箇所の問題だとは思うのですが。。

Tomcat5.5自体がないのは実際解凍されたファイルを再度インストールしてしようとしたのですが普通やはりzipファイルからインストールしたほうが正確なのでしょうか?

よろしくお願いします。

>netstat -a で8080で listeningになっているソフトを探してください
こんな方法もあるんですね。
実際に実行してみたのですがどうも分からずいろいろ試しているのですがもう一度よく調べてみます。
お教え頂きありがとうございます。

補足日時:2007/10/21 22:01
    • good
    • 2
この回答へのお礼

遅くなり申し訳ありません。
あのあと、いろいろ試したところ無事問題は解決しました。
理由はわからないのですが。

回答ありがとうございました。
また、質問することがあるのでその時はよろしくお願いします。
ありがとうございました。

お礼日時:2008/01/20 00:41

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ですよ。
そこも修正が必要だと思います。

この回答への補足

お礼が遅くなり申し訳ありません。
回答ありがとうございます。
いろいろ試したのですがなぜなのかの理由はわかりませんでした。
間違いご指摘ありがとうございます。

それでですが、一般にOSが違うとやはりTomcatなどの起動もそれなりに違ってくるのでしょうか?
本を見て実行したのですが、その際本では主にXPに関して書かれているのですが、これをVistaでして動かないとき、それはVista自体では行えないということはあったりするのでしょうか?

よろしくお願いします。

補足日時:2007/10/21 21:55
    • good
    • 0
この回答へのお礼

遅くなり申し訳ありません。
あのあと、いろいろ試したところ無事問題は解決しました。
理由はわからないのですが。

回答ありがとうございました。
また、質問することがあるのでその時はよろしくお願いします。
ありがとうございました。

お礼日時:2008/01/20 00:40

>java.net.BindException: Address already in use: JVM_Bind:8080



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

この回答への補足

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

よろしくお願いします。

補足日時:2007/10/05 01:15
    • good
    • 0
この回答へのお礼

遅くなり申し訳ありません。
あのあと、いろいろ試したところ無事問題は解決しました。
理由はわからないのですが。

回答ありがとうございました。
また、質問することがあるのでその時はよろしくお願いします。
ありがとうございました。

お礼日時:2008/01/20 00:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A