アドレスがすでに使用されている 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 サーバーのポートを変更します。
- 
通常、ディレクトリ C:/apache-tomcat-7.0.11/conf/server.xmlにあるファイルserver.xmlを探します。
- 
以下に示すように、ファイル server.xmlはコード スニペットになります。<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
- 
ここで、コネクタのポート番号を別のポート番号に変更して保存します。 
- 
これで、指定したポート番号で Web サーバーが実行されます。 エラー Address already in use: JVM_Bindは解決されました。
前のサービスを終了する
ポートで実行されていた以前のアプリケーションを強制終了して、そのポートでアプリケーションを実行することもできます。 そのためには、サービスが実行されているプロセスを見つけて、そのサービスを強制終了する必要があります。
Windows および Linux プラットフォームでサービスを見つけて強制終了するプロセスは次のとおりです。
Windows の場合:
- 
まず、ポート番号を使用してプロセスを見つけます。 次のコマンドを使用します。 netstat -ano | find "8080"
- 
上記のコマンドは、ポート 8080で実行されているプロセスを検出します。 たとえば、見つかったプロセスは1234です。
- 
次のコマンドを使用して、プロセス 1234を強制終了します。taskkill /F /PID 1234
- 
taskkillコマンドは、プロセス ID1234のプロセスを強制終了します。
- 
これで、 Address already in use: JVM_Bindエラーなしで、ポート8080でアプリケーションを実行できます。
Linux の場合:
- 
同様に、 netstatコマンドも Linux でサービスまたはプロセスを検索するために使用されます。
- 
netstatはネットワークのステータスを表示するために使用され、grepコマンドはポートで実行されているプロセスを見つけるために使用されます。 以下のコマンドを参照してください。netstat -an | grep "8080"
- 
上記のコマンドは、ポート 8080で実行されているプロセスを検出します。 たとえば、見つかったプロセスは1234です。
- 
killコマンドを使用して、1234プロセスを強制終了します。
```cmd
kill - 1234
```
- Linux でこれらのコマンドを実行すると、Address already in use: JVM_Bindエラーが解決されます。
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