2011-12-07 28 views
6

Me estoy haciendo una excepción en la consola que es:java.lang.Exception: puerto 8083 ya está en uso

java.lang.Exception: Port 8083 already in use. 

Cómo resolver esta excepción? Si obtendré el servicio que está usando el puerto 8083, entonces puedo detener ese servicio y de esta forma puedo superar este problema.

Gracias por su ayuda!

+0

¿Cómo se obteniendo esta excepción? ¿Y qué sistema operativo estás usando? No podemos adivinar aquí. –

+7

Pruebe 'netstat -a' –

+0

Por favor considerar la aceptación de mi respuesta a continuación si era útil – Gray

Respuesta

10

java.lang.Excepción: Puerto 8083 ya en uso.

El error significa que otra aplicación ya tiene ese puerto vinculado para que no pueda usarlo. Típicamente significa que un servidor se está ejecutando (o está saliendo) pero aún tiene el puerto específico abierto. A menudo, este error se produce cuando intentas apagar un servidor y abrir la nueva versión, pero el primer servidor no está totalmente inactivo cuando se inicia el nuevo. Necesita encontrar el servidor en cuestión y puede que tenga que matarlo usando kill -9 o algo así.

Una buena herramienta para averiguar qué aplicación tiene el puerto abierto es lsof. Esto debería funcionar en la mayoría de Unixes (Linux) y MacOSX al menos.

lsof -i :8083 

lsof es para mostrar los archivos abiertos en un sistema, pero la opción es -i de direcciones de Internet:

-i [i] This option selects the listing of files any of whose Internet 
     address matches the address specified in i. 
     [46][protocol][@hostname|hostaddr][:service|port] 
0

Termine el proceso que está usando el puerto 8083 o configure su aplicación para que se ejecute en otro puerto. Las aplicaciones inteligentes intentan usar un puerto alternativo automáticamente.

5

La excepción se produce porque está intentando vincularse a un puerto que ya está siendo utilizado por otro proceso.

Al usar netstat -a desde la línea de comandos, se mostrará una lista de los puertos abiertos y el proceso que los está utilizando. De lo que puedes matarlo

Actualización:

En Windows, puede utilizar netstat -ao enumerar todos los puertos en uso junto con el ID de proceso que posee la conexión.

En Linux puede usar netstat -p para listar el ID del proceso/nombre del programa.

+0

En qué sistema operativo no' netstat que -a' muestran los procesos que se abra el puerto? – Gray

+0

gracias por ayuda! –

+2

@Gray Creo que hay una bandera -p que podría usar para mostrar el nombre del proceso –

1

La excepción significa: ya existe un puerto abierto '8083'. Lo resuelve al detener ese servicio o al usar un puerto diferente usted mismo.

Supongo que su propio servicio ya se está ejecutando cuando intenta iniciarlo, así que detenga la instancia anterior antes de iniciar la nueva.

(sé Tomcat se ejecuta en 8080 y, a veces la gente cambia eso a 8083, pero su imposible que nadie sabe qué servicio se ejecuta en la máquina mediante ese puerto.)

0

Si va a iniciar un servidor para el despliegue de su aplicación, puede suceder que cualquier otro proceso o aplicación esté usando ese puerto. Outlook, Skype u otras aplicaciones lo hacen a veces en mi trabajo. Use un programa como CPorts para matar esa conexión y reiniciar su servidor.

6

me sale esto con el servidor JBoss de vez en cuando. No es intuitivo que necesite reiniciar Java, pero los métodos anteriores no funcionaron.

Para Mac OS X:

LENTO

  1. Abrir el Monitor de actividad.
  2. Filtrar por "java"
  3. Salir de cualquier proceso (generalmente solo uno).
  4. Reinicia tu servidor.

RÁPIDO

ps aux | grep 'java' para listar los procesos actuales de Java y sus documentos de identidad.

kill -9 process_id_goes_here

0

hay otra posibilidad: puede estar tratando de obligar a la dirección IP equivocada - JBoss informará esto como siendo incapaz de unirse al puerto.

Compruebe la opción -b en contra de su run.sh y asegúrese de que o bien es 0.0.0.0 o la dirección IP o nombre de host del servidor.
- Si es 0.0.0.0, entonces el problema es que el puerto está en uso.
- Si es la IP, verificar que es la ip correcta utilizando/sbin/ifconfig (o ipconfig en Windows)
- Si es el nombre de host, a continuación, ejecutar
    telnet hostname_here
    y verificar que la La dirección IP que se resuelve es la dirección IP correcta.

Tenía este problema exacto y me encontré con que alguien había puesto la dirección IP incorrecta en el archivo/etc/hosts. Una vez que arreglé el archivo, JBoss comenzó bien.

0

En Eclipse, si tienes este error, significa que hay uno o dos casos de Eclipse utilizando el mismo puerto.

La solución es ir al administrador de procesos de su sistema operativo y matar los procesos Eclipse y java.

0

Asegúrese de que los puertos son diferentes en dos casos JBOSS en el archivo conf/bindingservices.beans/META-INF/encuadernaciones-jboss- beans.xml

Hay alrededor de 10 puertos para cambiar

Cuestiones relacionadas