Dirección ya en uso Error JVM_Bind en Java

Sheeraz Gul 20 junio 2023
Dirección ya en uso Error JVM_Bind en Java

Este tutorial demuestra el error dirección ya en uso jvm_bind de Java.

el error Dirección ya en uso: JVM_Bind en Java

La Dirección ya en uso: JVM_Bind ocurre mayormente cuando trabajamos en aplicaciones web. Este error es común cuando se utilizan servicios como Tomcat, Struts, JBoss, etc.

El error ocurre cuando intentamos vincularnos con un puerto en el que ya está escuchando otra aplicación. Para resolver este problema, tenemos que cambiar el puerto de la aplicación actual o eliminar la otra aplicación que se ejecuta en el mismo puerto.

Aquí está la solución para ambos escenarios.

Cambie el servidor web para que se ejecute en otro puerto

Cambiar el puerto del servidor web es una tarea fácil en la mayoría de los escenarios. Por ejemplo, si está utilizando Tomcat, siga el proceso a continuación para cambiar el puerto del servidor web.

  1. Busque el archivo server.xml, normalmente en el directorio C:/apache-tomcat-7.0.11/conf/server.xml.

  2. El archivo server.xml será un fragmento de código, como se muestra a continuación.

    <Connector port="8080" protocol="HTTP/1.1"
    			   connectionTimeout="20000"
    			   redirectPort="8443" />
    
  1. Ahora, cambie el número de puerto del conector a cualquier otro número de puerto y guárdelo.
  2. Ahora, el servidor web se ejecutará en el número de puerto que haya proporcionado. Se soluciona el error Dirección ya en uso: JVM_Bind.

Matar el servicio anterior

También podemos eliminar la aplicación anterior que se ejecuta en el puerto para ejecutar nuestra aplicación en ese puerto. Para hacer eso, tenemos que encontrar el proceso en el que se ejecuta el servicio y luego eliminar ese servicio.

Este es el proceso para encontrar y eliminar los servicios en las plataformas Windows y Linux.

Para ventanas:

  1. Primero, encuentre el proceso usando su número de puerto. Utilice el siguiente comando.

    netstat -ano | find "8080"
    
  2. El comando anterior encontrará el proceso ejecutándose en el puerto 8080. Ahora, por ejemplo, el proceso encontrado es 1234.

  3. Elimine el proceso 1234 usando el siguiente comando.

    taskkill /F /PID 1234
    
  1. El comando taskkill eliminará el proceso con el ID de proceso 1234.
  2. Ahora, podemos ejecutar nuestra aplicación en el puerto 8080 sin el error Dirección ya en uso: JVM_Bind.

Para Linux:

  1. De manera similar, el comando netstat también se usa en Linux para encontrar un servicio o proceso.

  2. El netstat se usa para mostrar el estado de la red, y el comando grep se usa para encontrar el proceso que se está ejecutando en un puerto. Vea el comando a continuación.

    netstat -an | grep "8080"
    
  3. El comando anterior encontrará el proceso ejecutándose en el puerto 8080. Ahora, por ejemplo, el proceso encontrado es 1234.

  4. Use el comando matar para matar el proceso 1234.

    kill - 1234
    
  5. El error Dirección ya en uso: JVM_Bind se solucionará después de ejecutar estos comandos en Linux.

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

Artículo relacionado - Java Error