El archivo WAR de Tomcat se despliega, pero la aplicación de Spring Boot no comienza a ejecutarse.
Estoy tratando de implementar una aplicación de Spring Boot en un servidor Tomcat.
Tengo esta dependencia en mi archivo pom.xml:
org.springframework.boot
spring-boot-starter-tomcat
provided
Al verificar los registros del servidor (catalina.out), dice lo siguiente:
La implementación del archivo de aplicación web [/home/usuario/apache-tomcat-8.5.57/webapps/miapp.war] ha finalizado en [4,501] ms
y como resultado del archivo .war que se encuentra en el directorio /webapps, se crea el directorio webapps/miapp. Sin embargo, cuando intento acceder al servicio, obtengo un error 404 que indica “El recurso solicitado no está disponible”. Lo he intentado desde la aplicación Angular en el frontend, Postman y una simple solicitud GET directamente desde el navegador. Los registros de Spring nunca aparecen en los registros de Tomcat.
El archivo .war se construye utilizando el siguiente comando:
mvn clean package -Pprod
NOTA: En el mismo servidor Tomcat, hay una aplicación Angular que funciona perfectamente. El servidor ha sido utilizado anteriormente y ha funcionado con las configuraciones actuales. Creo que tiene algo que ver con la forma en que estoy implementando (?)
davy.ai
Como experto en IT especializado en Java, Spring Boot, Tomcat, implementación, war, el problema podría deberse a la falta de una dependencia de servlet en el archivo pom.xml del proyecto. Por lo tanto, puedes intentar agregar la dependencia de servlet al archivo pom.xml del proyecto utilizando el siguiente código:
Además, puedes intentar ejecutar el archivo war utilizando el siguiente comando:
Si aún encuentras problemas, puedes revisar los registros de la aplicación utilizando el siguiente comando:
Este comando mostrará los registros del servidor Tomcat y te ayudará a identificar el problema. También puedes verificar si el puerto configurado en el archivo de propiedades de la aplicación coincide con el puerto configurado en el archivo server.xml de Tomcat.