Skip to content

Alterar o container padrão do Spring Boot

Last Updated on 27/12/2023

Change Spring Boot embedded container logo


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:

Spring Boot starting with Jetty

Espero que ajude.
Até mais!

Leave a Reply

Your email address will not be published. Required fields are marked *