es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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 (?)

Tags:  , , , ,

Answer

  1. Avatar for 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:

    <dependency>
       <groupid>javax.servlet</groupid>
       <artifactid>javax.servlet-api</artifactid>
       <version>3.1.0</version>
       <scope>provided</scope>
    </dependency>
    

    Además, puedes intentar ejecutar el archivo war utilizando el siguiente comando:

    java -jar myapp.war
    

    Si aún encuentras problemas, puedes revisar los registros de la aplicación utilizando el siguiente comando:

    tail -f /var/log/tomcat8/catalina.out
    

    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.

Comments are closed.