13

Windows で Tomcat を起動しているときに、Catalina ログ ファイルに次のエラーが記録されます。

Sep 3, 2010 3:22:53 PM org.apache.catalina.startup.Catalina start
SEVERE: Catalina.start: 
LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.lang.Exception: Socket bind failed: [730048] Only one usage of each socket address (protocol/network address/port) is normally permitted.  
    at org.apache.catalina.connector.Connector.start(Connector.java:1138)
    at org.apache.catalina.core.StandardService.start(StandardService.java:531)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    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:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Sep 3, 2010 3:22:53 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 67604 ms

しかし、ポート番号を から に変更すると、8080エラーは発生しませんでしたが、 http://localhost:9000/9000へのリクエストで 404 エラーが発生します。The requested resource (/) is not available

何か不足していますか?

4

4 に答える 4

18

1 つのアプリケーションが 8080 ポートを使用しています。どちらを確認するには、Windows コマンド プロンプトで次のコマンドを使用します。

C:\>netstat -aon | findstr 0.0:8080

次に、最後の列の番号 (プロセス ID) を取得し、タスク マネージャーでどのプロセスかを調べます。コマンドから何も出力されない場合、そのポートを使用しているアプリケーションはありません。

于 2011-02-17T13:16:36.917 に答える
3
C:\>netstat -aon | findstr 0.0:8080

これは、プロセスからこのIDを持つプロセスをクリアし、TomCatを再起動するだけで修正されました。

于 2012-05-28T02:37:12.453 に答える
0

別のプロセスがそのポートを使用しています (おそらく別の Tomcat インスタンス)。

実際の Tomcat インスタンスに別のポートを使用したくない場合は、そのプロセスを強制終了する必要があります。

コマンド

  • 1行

    for /f "tokens=5" %a in ('netstat -ao ^| findstr 0.0.8080') do taskkill /pid %a
    

    また

  • 2行

    • PID を取得する

      netstat -ao | findstr 0.0:8080
      

      次のようなものが得られます。

      TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       5180
      

      (最後の値は PID です - 次のコマンドで使用します)

    • キルプロセス

      taskkill /pid <pid>
      
于 2016-01-15T12:48:07.567 に答える
0

root ユーザーとしてポート 80 で tomcat を起動する必要があります。他のポートでは起動しません。

于 2012-01-11T09:41:14.897 に答える