Java

Alterar o container padrão do Spring Boot


Este tutorial irá mostrar como alterar o container padrão do Spring Boot, para podermos utilizar o Jetty ou o Undertow ao invés do Tomcat.

O projeto Spring Boot Starter Web já vêm com Spring MVC e o container Tomcat integrados, os quais são empacotados juntos com o jar executável do Spring Boot. Deste modo, tudo que você precisa para executar sua aplicação já está incluído neste arquivo jar.

No entanto, é possível substituirmos o container padrão do Tomcat por outro container de sua escolha, então irei mostrar os passos necessários para isso.

Excluindo o Tomcat do projeto Starter Web

Sua dependência do Spring Boot Starter Web deve se parecer com o seguinte no arquivo pom.xml:

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Neste caso, você precisa declarar a exclusão do Tomcat que já vem com o Spring Boot, adicionando um elemento do tipo exclusion:

<!-- Spring Boot Starter Web MVC exceto o Tomcat -->
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 <exclusions>
  <exclusion>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
  </exclusion>
 </exclusions>
</dependency>

Agora que você já removeu o Tomcat, iremos adicionar o novo container.

Adicionando a dependência do Jetty

Agora iremos adicionar a dependência do Jetty no seu pom.xml :

<!-- Jetty ao invés de Tomcat -->
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

Ou então utilizando o Undertow

Porém, caso você prefira o Undertow ao invés do Jetty e do Tomcat, adicione a dependência do Undertow no seu pom.xml :

<!-- Undertow ao invés de Tomcat ou Jetty -->
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

Pronto! Seu novo container será utilizado na próxima vez que você rodar seu projeto:

Espero que ajude.
Até mais!

bgasparotto

Recent Posts

Python function decorator

This guide will show you how to create a Python function decorator with a few…

2 years ago

Got permission denied while trying to connect to the Docker daemon socket

This guide will show you how to fix the error Got permission denied while trying…

2 years ago

Python virtual environment on Intellij IDEA

This guide will show you how to create a Python virtual environment on Intellij IDEA…

2 years ago

Find and kill processes on Linux and Mac by port number

This tutorial will quickly show you how to to find and kill processes on Linux,…

2 years ago

Python: Relocation R_X86_64_PC32 against symbol can not be used when making a shared object Error

This guide shows a possible solution for Python error Relocation R_X86_64_PC32 against symbol can not…

2 years ago

Kubernetes useful commands

I condensed below a cheat sheet of Kubernetes useful commands. I will keep updating this…

2 years ago