Recibo el siguiente error cuando intento ejecutar un programa JSP simple en Tomcat en Eclipse.
Varios puertos (8005, 8080, 8009) requeridos por el servidor Tomcat v6.0 en localhost ya están en uso. Es posible que el servidor ya se esté ejecutando en otro proceso o que un proceso del sistema esté utilizando el puerto. Para iniciar este servidor, deberá detener el otro proceso o cambiar los números de puerto.
¿Cómo se causa esto y cómo puedo resolverlo?
netstat -ano | findStr 8080
para encontrar los servicios en ejecución y luego encontrar la identificación del proceso y copiar el pid y ejecutar el comando nuevamente comotaskkill /F /PID pid_number
Respuestas:
Ya tienes otra instancia de Tomcat ejecutándose. Puede confirmar esto yendo a
http://localhost:8080
su navegador web y verifique si obtiene la página de inicio predeterminada de Tomcat o una página de error 404 específica de Tomcat. Ambos son evidencia igualmente válida de que Tomcat funciona bien; si no fuera así, habría recibido un mensaje de error de tiempo de espera de conexión HTTP específico del navegador.Necesitas apagarlo. Vaya a la
/bin
subcarpeta de la carpeta de instalación de Tomcat y ejecute el scriptshutdown.bat
(Windows) oshutdown.sh
(Unix). Si en vano, cerca Eclipse y luego abrir el administrador de tareas y matar a todosjava
y / ojavaw
procesos.O si realmente lo instaló como un servicio de Windows por alguna razón (esto está destinado a la producción y no es útil cuando está desarrollando), abra el administrador de servicios ( Inicio> Ejecutar> services.msc ) y detenga el servicio Tomcat. Si es necesario, desinstale el servicio de Windows por completo. Para el desarrollo, solo el archivo ZIP es suficiente.
O si su intención real es ejecutar dos instancias de Tomcat simultáneamente, entonces debe configurar la segunda instancia para escuchar en diferentes puertos. Consulte la documentación de Tomcat para más detalles.
fuente
sh shutdown.sh
en la terminal dentro del directorio / bin.shutdown.bat
en mi carpeta bin. Tomcat se instaló como un servicio y no como un zip. La detención del servicio Tomcat en los servicios solucionó el problema. Gracias. Chenquisystem monitor
otask manager
eliminar un proceso de Java que está utilizandoabout 400 MB
o másRAM
también resolverá el problema. Sin saberlo, está reservando el proceso.fuente
kill $(ps -aef | grep java | grep apache | awk '{print $2}')
kill
comando.Si está ejecutando en Windows intente esto en la línea de comandos:
Esto mostrará todos los puertos en uso y el ID de proceso PID # del proceso que está usando ese puerto. Luego Ctrl+ Alt+ Dely abra el Administrador de tareas para ver qué proceso es ese.
Luego puede elegir cerrarlo / detenerlo o configurar su servidor para usar otro puerto. Para verificar si el nuevo puerto elegido (digamos 8010) está disponible, haga esto:
Si no devuelve ninguna línea, entonces está bien.
Para cambiar el puerto, vaya a la vista Servidor, abra server.xml y cambie el puerto allí. El mío tiene esta entrada:
fuente
findstr
para aquellos sin grep.Si estás en un entorno mac, esto es lo que hice.
Encuentre la identificación del proceso que se ejecuta en este puerto desde la terminal, por ejemplo, 8080:
y mátalo:
Ejemplo:
Puede ver el siguiente resultado:
y mátalo: (
kill -9 21347
)fuente
Pasos para liberar el puerto que ya se utiliza para ejecutar el servidor Tomcat en Eclipse
Por ejemplo, supongamos que se utiliza el puerto 8080, necesitamos liberar 8080 para ejecutar tomcat
Paso 1:
C: \ Usuarios \ nombre de usuario> netstat -o -n -a | Findstr 0.0: 8080
TCP 0.0.0.0:3000 0.0.0.0:0 ESCUCHANDO 3116
Ahora, podemos ver que el puerto de ESCUCHA es 3116 para 8080,
Necesitamos matar 3116 ahora
Paso 2:-
C: \ Usuarios \ nombre de usuario> taskkill / F / PID 3116
Paso 3: vaya a Eclipse e inicie Server, se ejecutará
fuente
Si usa Eclipse, haga doble clic en los servidores y haga doble clic en el servidor Tomcat, se abrirá un archivo. En ese archivo, cambie el puerto HTTP a otro número de puerto y guarde ( Ctrl+ S), luego vuelva a iniciar el servidor.
fuente
Si Eclipse dice
Este error se produce porque Tomcat puede estar ejecutándose en segundo plano, así que primero detenga ese servidor ... siga los detalles a continuación.
La solución es:
¡Gracias!
fuente
No tengo otra instancia de Tomcat ejecutándose y ningún otro proceso utilizando el "puerto de Tomcat" (en mi caso, el puerto 8088). Eclipse envía el mismo mensaje al iniciar Tomcat:
.... El servidor ya puede estar ejecutándose en otro proceso, o un proceso del sistema puede estar utilizando el puerto. Para iniciar este servidor, deberá detener el otro proceso o cambiar los números de puerto.
Resuelvo el problema de esta manera:
fuente
Lo que hice después de leer todas las respuestas sugeridas y, como sé, mi puerto ya estaba en uso. Hice doble clic en Tomcat debajo de la pestaña Servidores en eclipse y abrió la información general y luego encontré la información del puerto. Acabo de cambiar el puerto en conflicto ya que el mío era el puerto 8009 (error mencionado durante el inicio del servidor). Lo he cambiado a 8008 y funciona bien. Intente si el puerto cambiado no estaría en uso. Se iniciará el servidor.
fuente
Paso 1: netstat -a -o -n y aparecerá una lista de red, busque la dirección local como 127.0.0.1:8080 y anote el PID (ecuación 3624)
Paso 2: taskkill / F / PID 3624 . Ejecute este comando para matar ese proceso.
enlace para publicar
fuente
En Windows, use el comando para detener la instancia de tomcat que ya se está ejecutando e intente ejecutarla nuevamente en eclipse, puede funcionar.
O bien, puede cambiar el puerto en el XML del servidor si solo desea ejecutar en otros puertos.
fuente
Manera fácil de resolver su problema:
Es posible que el servidor ya se esté ejecutando en otro proceso o que un proceso del sistema esté utilizando el puerto. Para matar ese puerto, haga lo siguiente:
1) Descargue TCPView (solo 285kb) desde el siguiente enlace.
http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx
2) Extraiga la carpeta e inicie la aplicación TCPView .
3) Haga clic con el botón derecho en java.exe (porque los procesos de java suelen utilizar 8009.8005 puertos) y seleccione la opción Finalizar proceso .
esto detendría otro proceso fácilmente ...
NOTA : Es posible que ejecutar TOMCATPATH / bin / shutdown.bat no apague Tomcat cuando contiene algunos subprocesos demoníacos o no administrados. En tales casos, TCPView funciona bien sin ningún problema.
fuente
Si está en Java EE prospectivo en Eclipse e intenta iniciar el servidor Tomcat en Eclipse en modo de depuración, obtendrá tales errores. Debe cambiar a depurar prospectivo en Eclipse. He resuelto mi problema así.
fuente
A veces, si los puertos no se liberan incluso después de intentar shutdown.bat lo que sugirió @BalusC, puede matar el proceso de Java. Haz los siguientes pasos:
Ingrese el comando ps. Puede ver una imagen de la siguiente manera:
Vea el número de proceso del proceso "javaw". El número de proceso es el número más a la derecha en las columnas, por ejemplo, he resaltado en el número de proceso de imagen de javaw.
Ingrese el comando kill. Java es asesinado y ahora debe poder ejecutar el programa.
fuente
Aquí hay una opción más para probar si ninguno de los esfuerzos anteriores ayudó. Es posible que esté utilizando Eclipse desde una unidad compartida (por ejemplo, H :) . Si es así, muévalo / cópielo todo el directorio de Eclipse a C: e intente nuevamente.
Mi Eclipse no pudo abrir puertos para el servidor Tomcat (con el error anterior), ni siquiera conectarse a internet. También probé otro complemento de Tomcat (Sysdeo) que tampoco pudo abrir los puertos.
Estas son las opciones que probé:
Verificar y matar otras instancias de Tomcat
netstat -ano
y verifique si algún otro proceso está utilizando los puertos en conflicto.Cambiar los puertos de Tomcat en Eclipse
Mata java.exe y javaw
Vea mi otra respuesta para Eclipse que no se conecta a Internet ( https://stackoverflow.com/a/37246087/4212710 ).
fuente
Para usuarios de Windows:
Vaya al Administrador de tareas directamente con la combinación de teclas CTRL + MAYÚS + ESC.
Elimine los procesos "java.exe" haciendo clic derecho y seleccionando "Finalizar tarea".
fuente
Revisé todas las respuestas pero
informing only to kill PID
.En caso de que tenga acceso a la terminal compartido por todos , no ayudará o tal vez no tenga permiso para matar PID .
En este caso lo que puedes hacer es:
Double click on server
Go to Overview and change ports in Ports
Me gusta esto:fuente
La solución más simple que funciona para mí es eliminar mis aplicaciones web implementadas actuales de tomcat a través de la pestaña "Servidor". Una vez que los elimino, el problema desaparece. Simplemente vuelva a implementar su proyecto yendo a Ejecutar como> Ejecutar en el servidor.
fuente
El problema a menudo surge cuando Apache Tomcat no puede terminar, correctamente, a pesar de que se envió una instrucción de apagado. En mi caso, usando Tomcat 8, esto sucede con una molesta regularidad. Afortunadamente, puede usar Windows PowerShell y el
netstat
comando para crear una secuencia de comandos simple para matar el proceso.El siguiente script de PowerShell analizará la salida
netstat
para encontrar cualquier proceso que esté escuchando127.0.0.1:8005
, extraer su PID y luego eliminar ese proceso:Si
server.xml
configura Tomcat para usar un puerto o IP diferente, edite la expresión regular en la cuarta línea del script en consecuencia.Finalmente, debo señalar que la situación es mejor en Linux porque puede indicarle a Tomcat que guarde su PID en un archivo en el momento del inicio y usar un interruptor para forzar el apagado, más tarde, el script de apagado para los sistemas 'nix ya presenta el
netstat
No se requiere la capacidad de matar el proceso y el trabajo de detective .fuente
Si el problema anterior se produce en un sistema operativo basado en Windows 7 o 10, el problema se produce porque Tomcat se está ejecutando como servicio de Windows. Para dejar de ejecutar Tomcat como Servicios de Windows, abra el Panel de control de Windows. Busque el servicio "Apache Tomcat" y deténgalo. La otra forma es matar el proceso que se ejecuta en el puerto 8080 usando cmd.
Abra cmd ejecutándolo como administrador.
C: \ users \ username> taskkill / F / PID 2160
fuente
Puede deberse a que no está deteniendo su servicio Tomcat correctamente. Para hacer eso, abra su administrador de tareas allí puede ver un
javaw.exe
servicio. Primero pare ese servicio. Ahora reinicie su tomcat, funciona bien.fuente
En mi caso, me estaba dando el error: puerto 8005 requerido por el servidor Tomcat v8.0 en localhost ya está en uso
Cambié el puerto 8005 en apache-tomcat-8.0.39 \ conf \ server.xml pero los cambios no se reflejaron. Luego hice estos cambios del eclipse. haciendo doble clic en el servidor y modificando el puerto de 8005 a 8006 y funciona.
Antes de poner 8006, verifiqué en el shell de Windows si este puerto está disponible o no. Al ejecutar el siguiente comando:
fuente
Me enfrento al mismo problema y después de buscar la respuesta como se muestra a continuación: 1. abra Monitor Tomcat como se muestra a continuación:
Finalmente funciona conmigo después de muchas pruebas y soluciones sugeridas.
Saludos cordiales, Kerelos Mikhail
fuente
En Eclipse, elimine sin procesar la carpeta de configuración de Tomcat en el proyecto "Servidores". Lo intenté como última esperanza y funcionó.
fuente
En el caso de Windows, experimenté algo nuevo ... detener el tomcat de la carpeta / bin no liberará inmediatamente el puerto 8080. Tardará entre 5 y 10 minutos en liberar el puerto. Después de 10 minutos nuevamente si intento ejecutar mi proyecto Ejecutar-> Ejecutar en el servidor ... permite ejecutarlo.
¡No estoy seguro si mi comprensión es correcta!
fuente
Consulte el siguiente blog "cómo matar tomcat sin tener que reiniciar su computadora"
http://stanicblog.blogspot.fr/2012/01/how-to-kill-apache-tomcat-without.html
Espero que esto ayude a alguien en el futuro.
fuente
¡Ocurre cuando otros en el proyecto también están usando los mismos números de puerto que usted está usando! haga doble clic en el servidor Tomcat, cambie los números de puerto a 8585 o lo que sea. ¡El código ahora comenzará a ejecutarse!
fuente
Cómo matar un servicio de Windows usando PID -
netstat -ano
taskkill /f /pid 5760
Gracias
matar un servicio de Windows que está atascado al detener o iniciar
fuente
Para verificar si otra instancia de Tomcat ya se está ejecutando o algún otro proceso está usando los puertos que puede usar:
Puede obtener algo como esto:
Abra el administrador de tareas Ctrl+ Shift+ Esc, y elimine
Tomcat7.exe
o cualquier otro proceso utilizando estos puertos.fuente
Tu Tomcat probablemente ya esté funcionando. Por eso tienes un error. He tenido el mismo problema antes. Lo resolví muy simple:
Eso es todo.
fuente