Desplegar Spring Boot en Tomcat

Una de las formas más sencillas y potentes de desarrollar una API Rest es con Spring Boot. La herramienta te da muchos pasos automatizados incluso el servidor de Java servlet integrado en el entorno de desarrollo.

Una vez hemos desarrollado nuestra API Rest queda desplegarlo en los servidores de aplicaciones correspondientes, en este caso Tomcat 9, para ello seguiremos 3 pasos:

1. Actualizaremos la aplicación principal de Spring Boot

En el aplicación principal @SpringBootApplication y que contiene la función main() incorporaremos:

Spring Boot 2.4

1.1. Importamos con import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

1.2. La clase la extenderemos con extends SpringBootServletInitializer

1.3. Y añadiremos el método de configuración con:

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(PrincipalApplication.class);
}

2. Configuramos las características para MAVEN en el pom.xml

Añadimos las siguientes dependencias:

2.1. Añadir <packaging>war</packaging> en la descripción de la aplicación o <artifactId>

2.2.  En dependencias <dependencies> añadimos las siguientes dependencias, 2:


<dependency>

<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>

</dependency>

 <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-tomcat</artifactId>   <scope>provided</scope>  </dependency>


3. Ahora compilaremos y ejecutaremos
Ejecutamos «Run As» y en las opciones introducimos «clean input». Con ello al ejecutar se nos mostrara el mensaje «BUILD SUCCESS» o mensajs de error.

Ahora solo hace falta ir al portal de Tomcat e instalar la aplicación, trabajos a revisar después del despliegue:
* Memoria asignada a TomcatTomcat 9

P.D.: No hay que olvidar que la conexión de base de datos definida en «aplication.properties» puede cambiar del sistema de desarrollo al de prueba o producción.

Java es una marca registrada de Oracle Corporation
Spring Boot es una marca registrada de Pivotal Software, Inc.
Tomcat es una marca registrada de Apache Inc.