アドレスがすでに使用されている Java の JVM_Bind エラー

Sheeraz Gul 2023年6月20日
アドレスがすでに使用されている Java の JVM_Bind エラー

このチュートリアルでは、Java の address already in use jvm_bind エラーについて説明します。

Address already in use: JVM_Bind Java のエラー

Address already in use: JVM_Bind は、主に Web アプリケーションで作業しているときに発生します。 このエラーは、Tomcat、Struts、JBoss などのサービスを使用している場合によく発生します。

他のアプリケーションがすでにリッスンしているポートにバインドしようとすると、エラーが発生します。 この問題を解決するには、現在のアプリケーションのポートを変更するか、同じポートで実行されている他のアプリケーションを強制終了する必要があります。

これが両方のシナリオの解決策です。

Web サーバーを別のポートで実行するように変更する

Web サーバー ポートの変更は、ほとんどのシナリオで簡単な作業です。 たとえば、Tomcat を使用している場合は、以下のプロセスに従って Web サーバーのポートを変更します。

  1. 通常、ディレクトリ C:/apache-tomcat-7.0.11/conf/server.xml にあるファイル server.xml を探します。

  2. 以下に示すように、ファイル server.xml はコード スニペットになります。

    <Connector port="8080" protocol="HTTP/1.1"
    			   connectionTimeout="20000"
    			   redirectPort="8443" />
    
  1. ここで、コネクタのポート番号を別のポート番号に変更して保存します。
  2. これで、指定したポート番号で Web サーバーが実行されます。 エラー Address already in use: JVM_Bind は解決されました。

前のサービスを終了する

ポートで実行されていた以前のアプリケーションを強制終了して、そのポートでアプリケーションを実行することもできます。 そのためには、サービスが実行されているプロセスを見つけて、そのサービスを強制終了する必要があります。

Windows および Linux プラットフォームでサービスを見つけて強制終了するプロセスは次のとおりです。

Windows の場合:

  1. まず、ポート番号を使用してプロセスを見つけます。 次のコマンドを使用します。

    netstat -ano | find "8080"
    
  2. 上記のコマンドは、ポート 8080 で実行されているプロセスを検出します。 たとえば、見つかったプロセスは 1234 です。

  3. 次のコマンドを使用して、プロセス 1234 を強制終了します。

    taskkill /F /PID 1234
    
  1. taskkill コマンドは、プロセス ID 1234 のプロセスを強制終了します。
  2. これで、Address already in use: JVM_Bind エラーなしで、ポート 8080 でアプリケーションを実行できます。

Linux の場合:

  1. 同様に、netstat コマンドも Linux でサービスまたはプロセスを検索するために使用されます。

  2. netstat はネットワークのステータスを表示するために使用され、grep コマンドはポートで実行されているプロセスを見つけるために使用されます。 以下のコマンドを参照してください。

    netstat -an | grep "8080"
    
  3. 上記のコマンドは、ポート 8080 で実行されているプロセスを検出します。 たとえば、見つかったプロセスは 1234 です。

  4. kill コマンドを使用して、1234 プロセスを強制終了します。

    kill - 1234
    
  5. Linux でこれらのコマンドを実行すると、Address already in use: JVM_Bind エラーが解決されます。

著者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

関連記事 - Java Error