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.
-
Busque el archivo
server.xml
, normalmente en el directorioC:/apache-tomcat-7.0.11/conf/server.xml
. -
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" />
- Ahora, cambie el número de puerto del conector a cualquier otro número de puerto y guárdelo.
- 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:
-
Primero, encuentre el proceso usando su número de puerto. Utilice el siguiente comando.
netstat -ano | find "8080"
-
El comando anterior encontrará el proceso ejecutándose en el puerto
8080
. Ahora, por ejemplo, el proceso encontrado es1234
. -
Elimine el proceso
1234
usando el siguiente comando.taskkill /F /PID 1234
- El comando
taskkill
eliminará el proceso con el ID de proceso1234
. - Ahora, podemos ejecutar nuestra aplicación en el puerto
8080
sin el errorDirección ya en uso: JVM_Bind
.
Para Linux:
-
De manera similar, el comando
netstat
también se usa en Linux para encontrar un servicio o proceso. -
El
netstat
se usa para mostrar el estado de la red, y el comandogrep
se usa para encontrar el proceso que se está ejecutando en un puerto. Vea el comando a continuación.netstat -an | grep "8080"
-
El comando anterior encontrará el proceso ejecutándose en el puerto
8080
. Ahora, por ejemplo, el proceso encontrado es1234
. -
Use el comando
matar
para matar el proceso1234
.kill - 1234
-
El error
Dirección ya en uso: JVM_Bind
se solucionará después de ejecutar estos comandos en Linux.
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 FacebookArtículo relacionado - Java Error
- Arreglar Java fue iniciado por el código de salida devuelto = 1
- Arreglar JAVA_HOME no se puede determinar a partir del error de registro en R
- Arreglar java.io.IOException: No queda espacio en el dispositivo en Java
- Arreglar Java.IO.NotSerializableException en Java
- Arreglar Java.Lang.IllegalStateException de Android: no se pudo ejecutar el método de la actividad
- Arreglar Java.Lang.NoClassDefFoundError: No se pudo inicializar el error de clase