java - starter - spring mvc example
El puerto 8080 ya tuvo problemas al intentar volver a implementar el proyecto desde Spring Tool Suite IDE (17)
¿Estoy haciendo algo mal aquí?
Sí es usted. Ya se está ejecutando un contenedor de servlets en el puerto 8080 y está intentando ejecutar otro en el puerto 8080 nuevamente.
Reinicie el servidor (si hay un botón para eso en STS) o deténgalo e inícielo
Tengo algo extraño cuando intento modificar el proyecto Spring dentro de mi Spring Tool Suite. En la primera carga (despliegue) todo está bien, la aplicación se compila y ejecuta en localhost: 8080
Cuando cambio algo dentro del código y trato de volver a implementarlo (ejecutarlo nuevamente - Ejecutar como aplicación Spring Boot), aparece un mensaje de error
*************************** SOLICITUD FALLIDA PARA INICIAR
Descripción:
El conector Tomcat configurado para escuchar en el puerto 8080 no pudo iniciarse. Es posible que el puerto ya esté en uso o que el conector esté mal configurado.
Acción:
Verifique la configuración del conector, identifique y detenga cualquier proceso que esté escuchando en el puerto 8080, o configure esta aplicación para escuchar en otro puerto.
2016-10-19 00: 01: 22.615 INFO 10988 --- [main] ationConfigEmbeddedWebApplicationContext: Cierre org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3023df74: fecha de inicio [Wed Oct 19 191.119 CEST 2016] raíz de la jerarquía de contexto 2016-10-19 00: 01: 22.616 INFO 10988 --- [main] osjeaAnnotationMBeanExporter: Anulación del registro de beans expuestos a JMX en el cierre
Si apago el proceso en ese puerto manualmente, todo vuelve a funcionar bien, pero esta no es la forma correcta de volver a implementar la aplicación Spring. ¿Estoy haciendo algo mal aquí?
Estoy usando :: Spring Boot :: (v1.4.1.RELEASE)
PD: Estoy consciente de que puedo configurar algún tipo de mecanismo de intercambio en caliente para que la página se vuelva a cargar automáticamente después de cambiar el código, pero por ahora me gustaría resolver este problema primero.
Gracias por cualquier tipo de ayuda o información.
A veces sucede incluso cuando dejamos de ejecutar procesos en IDE con la ayuda del botón rojo , seguimos recibiendo el mismo error.
Se resolvió con los siguientes pasos,
Compruebe qué procesos se están ejecutando en los puertos disponibles
netstat -ao |find /i "listening"
Conseguimos siguiendo
TCP 0.0.0.0:7981 machinename:0 LISTENING 2428 TCP 0.0.0.0:7982 machinename:0 LISTENING 2428 TCP 0.0.0.0:8080 machinename:0 LISTENING 12704 TCP 0.0.0.0:8500 machinename:0 LISTENING 2428
es decir, los números de puerto y qué ID de proceso están escuchando
Detenga el proceso que se está ejecutando en su número de puerto (en este caso es 8080 y el Id. De proceso es 12704)
Taskkill /F /IM 12704
(Nota: mencionar el Id. De proceso correcto)
Mi problema se resolvió con esto, espero que esto ayude!
Abra "localhost: 8080" en su navegador y vea qué se está ejecutando en este puerto. Lo hice y acabo de encontrar Oracle 10g XE ejecutándose en segundo plano, así que fui a Inicio-> Servicios y detuve todos los servicios de Oracle. Luego mvnw spring-boot:run
en IntelliJ y funciona como magia.
Cree el archivo application.properties
carpeta src/main/resources
y escriba el contenido como
server.port = 8084
Se ejecuta bien. Pero cada vez que se ejecute, primero debe detener la aplicación haciendo clic en el botón rojo en la parte superior del IDE
o tratar
Haga clic derecho en la consola> haga clic en terminar / Desconectar todo
El motivo es que un contenedor de servlets ya se está ejecutando en el puerto 8080 y está intentando ejecutar otro en el puerto 8080.
Compruebe qué procesos se están ejecutando en los puertos disponibles.
- Para ventanas:
netstat -ao |find /i "listening"
haga clic aquí para ver la imagen Onetstat -ano | find "8080"
netstat -ano | find "8080"
(Nota: 8080 es el puerto no se puede iniciar) haga clic aquí para ver la imagen
- Para ventanas:
- Ahora intenta relanzar o detener tu aplicación.
- Para relanzar: puede presionar este botón haga clic aquí para ver la imagen
- Para detener en Windows:
Taskkill /F /IM 6592
(Nota: mencione Id. De proceso correcto) haga clic aquí para ver la imagen, haga clic con el botón derecho en la consola y seleccione terminar / desconectar todo
Vaya al Administrador de tareas y finalice la plataforma Java (tm) en binario haga clic aquí para ver la imagen https://www.google.com/search?q=what+is+java(tm)+platform+se+binary&oq=what+is+java(tm)+platform+se+binary&aqs=chrome..69i57.26349j1j7&sourceid=chrome&ie=UTF-8
- Vaya al conjunto de archivos de application.propertie s server.port = 0 . Esto hará que Spring Boot use un puerto libre aleatorio cada vez que se inicie.
En la aplicación Spring Boot (usando el proyecto Spring Starter) Tenemos un puerto de actualización en Server.xml usando el servidor Tomcat y agregamos este puerto en application.property (insrc / main / resources) el código es server.port = 8085
Y actualizar el proyecto Maven luego ejecutar la aplicación
En la máquina Linux, guarde el script bash y ejecútelo. Si desea liberar el puerto 8080, ingrese la entrada 8080 cuando se le solicite
echo "Enter port number to be closed :: "
read port
sudo kill $(sudo lsof -t -i:$port)
En mi caso, el error se produjo porque la aplicación no pudo acceder al almacén de claves para ssl.
Iniciar la aplicación como usuario root solucionó el problema.
Este es un error típico de inicio debido a que el puerto del contenedor de servlet incorporado está en uso.
El contenedor Tomcat incorporado no se pudo iniciar porque el puerto 8080 ya estaba en uso.
Solo identifique y detenga el proceso que está escuchando en el puerto 8080 o configure (en su archivo application.properties ) esta aplicación para escuchar en otro puerto.
Hay algunos procesos que quedan en segundo plano en ese puerto, varias razones pueden causar este problema, pero puede resolverlo fácilmente si finaliza el proceso relacionado con 8080 o Spring.
Si está utilizando Linux, hay pasos para finalizar el proceso:
- Abre el terminal y escribe el comando "htop"
- Presiona la tecla F3 (te permitirá buscar)
- Escriba "8080" si no hubo ningún resultado en 8080 después de eso, intente "spring"
- Luego presione F9 (KILL) y presione "9" (SIGKILL)
esto eliminará el proceso que queda en el puerto 8080 y le permitirá ejecutar la aplicación.
Hay dos formas de resolver este problema. Pruebe la opción 1 primero, si no funciona, pruebe la opción 2 y su problema se resuelve.
1) En la esquina superior derecha de la consola, hay un botón rojo, para detener la aplicación de arranque de primavera que ya se está ejecutando en este puerto, simplemente haga clic en el botón rojo para finalizar.
2) Si el botón rojo no está activado, debe hacer clic derecho en la consola y seleccionar terminar / desconectar todo. Espero que esto ayude.
Consejo adicional: - Si desea ejecutar su servidor en un puerto diferente de su elección, cree un archivo llamado application.properties en la carpeta de recursos de su proyecto de Maven y escriba server.port = 3000 para ejecutar su aplicación en el puerto 3000
Hola, al crear una línea simple en application.properties ya que SERVER_PORT = 8090 resolvió el problema.
Para usuarios de Mac (OS X El Capitán): debe eliminar el puerto en el que se está ejecutando localhost: 8080. Para hacer esto, necesitas hacer dos comandos en el terminal.
sudo lsof -i tcp: 8080
kill -15 PID
¡NÓTESE BIEN! EL PID ES UN NÚMERO PROPORCIONADO POR EL PRIMER MANDO.
El primer comando le dará el PID para el host local: 8080. Reemplace el PID en el segundo comando con el PID que el primer comando le da para detener el proceso que se ejecuta en localhost: 8080.
Si tiene algún error en su consola, diga: “No se pudo iniciar el contenedor del servlet incorporado. El puerto 8080 ya estaba en uso ". Luego vaya al archivo application.properties y agregue esta propiedad" server.port = 8090 ".
En realidad, el puerto predeterminado para el arranque por resorte es 8080, si tiene algo más en ese puerto, se producirá el error anterior. Por lo tanto, estamos pidiendo que Spring Boot se ejecute en otro puerto agregando "server.port = 8090" en el archivo application.properties.
Consulte este enlace: http://www.nicheitskillshub.com/2017/07/first-spring-boot-application-in-eclipse.html?m=1
Simplemente haga clic en el botón rojo para detener todos los servicios en eclipse y volver a ejecutar la aplicación como Spring Boot Application: esto funcionó para mí.
**Changing the port number on Windows**
PARA Cambiar el número de puerto como se mencionó anteriormente. Haga clic derecho en el proyecto. Ir a Ejecutar como -> ejecutar configuraciones ----> Seleccionar el proyecto (o) escribir el nombre del proyecto en el campo de búsqueda y seleccionar ---> ir al entorno y dar el nombre de la variable deseada (SERVER_PORT) y un número variable (puerto número) 8213.