こんにちは私はEclipseからTomcat7サーバーを起動できません。
Eclipseから開始すると、次のエラーログが表示されます。
Jan 11, 2013 10:10:27 AM org.Apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the Java.library.path: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Users\Jayant\Desktop\data\adt-bundle-windows-x86\Eclipse;;.
Jan 11, 2013 10:10:28 AM org.Apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:10:28 AM org.Apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:10:28 AM org.Apache.catalina.startup.Catalina load
INFO: Initialization processed in 1165 ms
Jan 11, 2013 10:10:28 AM org.Apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 11, 2013 10:10:28 AM org.Apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
Jan 11, 2013 10:10:28 AM org.Apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:10:28 AM org.Apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:10:28 AM org.Apache.catalina.startup.Catalina start
INFO: Server startup in 507 ms
Jan 11, 2013 10:10:28 AM org.Apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]:
Java.net.BindException: Address already in use: JVM_Bind
at Java.net.DualStackPlainSocketImpl.bind0(Native Method)
at Java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at Java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at Java.net.PlainSocketImpl.bind(Unknown Source)
at Java.net.ServerSocket.bind(Unknown Source)
at Java.net.ServerSocket.<init>(Unknown Source)
at org.Apache.catalina.core.StandardServer.await(StandardServer.Java:422)
at org.Apache.catalina.startup.Catalina.await(Catalina.Java:707)
at org.Apache.catalina.startup.Catalina.start(Catalina.Java:653)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at Java.lang.reflect.Method.invoke(Unknown Source)
at org.Apache.catalina.startup.Bootstrap.start(Bootstrap.Java:303)
at org.Apache.catalina.startup.Bootstrap.main(Bootstrap.Java:431)
Jan 11, 2013 10:10:28 AM org.Apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:10:29 AM org.Apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:10:30 AM org.Apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jan 11, 2013 10:10:30 AM org.Apache.coyote.AbstractProtocolHandler stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:10:30 AM org.Apache.coyote.AbstractProtocolHandler stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
現在、次のエラーが発生しています。
Jan 11, 2013 10:18:59 AM org.Apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the Java.library.path: C:\Program Files\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Users\Jayant\Desktop\data\adt-bundle-windows-x86\Eclipse;;.
Jan 11, 2013 10:19:00 AM org.Apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:19:00 AM org.Apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:19:00 AM org.Apache.catalina.startup.Catalina load
INFO: Initialization processed in 872 ms
Jan 11, 2013 10:19:00 AM org.Apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 11, 2013 10:19:00 AM org.Apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
Jan 11, 2013 10:19:00 AM org.Apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:19:00 AM org.Apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:19:00 AM org.Apache.catalina.startup.Catalina start
INFO: Server startup in 535 ms
Jan 11, 2013 10:20:13 AM org.Apache.catalina.core.StandardServer await
WARNING: StandardServer.await: Invalid command 'GET / HTTP/1.1' received
Jan 11, 2013 10:20:19 AM org.Apache.catalina.core.StandardServer await
WARNING: StandardServer.await: Invalid command '' received
管理ポートは管理コマンドを受信するためのものであり、HTTPポートはHTTP要求を受信するためのものです。別のポートを使用する必要があります。サーバーがすでにそのポートを開いているため、HTTPコネクタを起動できませんでした。ブラウザ/クライアント/管理ポートにリクエストを送信したものは何でも、サーバーはHTTPを理解せず、このエラーをログに記録します。
Tomcatを別のポートに再インストールしてみてください。
私はこの問題を抱えていました(ポート8005はすでに使用されています)。根本的な原因は、既存のTomcatプロセスがすでに私のマシンで実行されていることが原因でした。したがって、私がする必要があるのは、基本的に既存のプロセスを強制終了し、Tomcatを再起動することでした。
Server.xmlファイルに移動して変更します
<Server port="8005" shutdown="SHUTDOWN">
に
<Server port="8006" shutdown="SHUTDOWN">
変更の理由は、投稿の1つに記載されています
使用する:
pkill -f Tomcat
既存または応答しないTomcatインスタンスまたはプロセスを削除します。
start Tomcat.
Linuxシステムを使用している場合は、ターミナルでps -ef | grepTomcatと入力します。次に、プロセスID(PID)を見つけます。次に、ターミナルでkill-9と入力します。次に、Tomcatサーバーを起動します。
この問題を解決する2つの方法:
1> Tomcatサーバーのインストールディレクトリに移動し、server.xmlファイルを開いて、
コネクタとサーバーのポートは異なります。そうでない場合は、それらを異なるポートにしてから、これらのポートで何も実行されていないかどうかを確認してください
2>コマンドプロンプトを開始から開き、netstat -ano |と入力します。ポートが使用されているかどうかを確認するには、findstr8010を使用します。それらを使用すると、TCP 0.0.0.0:8005 0.0.0.0:0 LISTENING 4 TCP [::]:8005 [::] :0リスニング4
次に、a>タスクマネージャーからプロセスID(私の場合は4)を使用してプロセスを強制終了します
それらが使用されていない場合は、cmdに何も表示されません
よくある間違いは、server.xml
構成ファイルで同じシャットダウンポートとコネクタポートを使用することです。
これらのポートは異なっている必要があり、正しい例を次に示します。
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8983" protocol="HTTP/1.1"
デフォルトでは、Tomcatはポート8005でSHUTDOWNコマンドをリッスンし、コネクタポートとは常に異なる必要があります。
ポートがまだ使用されている場合は、Sudo lsof -i:8005
を試して理由を見つけてください。
あなたができることは、Tomcatディレクトリ/conf/server.xmlに行くことができるプロセスを殺すのではなく、ここでシャットダウンポート(8005)を他のポートに変更することができます。また、デフォルトポート(8080)およびその他を別のポートに変更します。したがって、Tomcatの複数のインスタンスを単一のマシンで実行できます。サーバーを再起動します(それでも問題が解決しない場合)Eclipseでサーバーを再作成します。