Converter Spring Boot para arquivo war

Veja neste post como configurar um projeto em Spring Boot para gerar arquivo .war e instalar no tomcat

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Spring Boot - TUTORIAL

Última atualização em: | 12527 Visualizações

Por padrão, os projetos em Spring Boot não precisam de um container ou servidor para executar as aplicações. Ao executar o build, é gerado um arquivo .jar o qual pode ser executado diretamente:

java -jar <meu-app>.jar

Onde <meu-app> deve ser o nome do arquivo .jar.

Porém também é possível converter um projeto em Spring Boot para gerar um arquivo .war, o qual pode ser realizado o deploy em um container web, como o tomcat.

Configurando o pom.xml

O primeiro passo é configurar o pom.xml do seu projeto, vamos iniciar pela configuração do packaging, mude esta configuração para war. Veja:

<packaging>war</packaging>

O próximo passo é corrigir a dependência do tomcat (spring-boot-starter-tomcat), adicionando <scope>provided</scope>.

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

Configurando a classe principal

O último passo, é configurar a classe principal do projeto para iniciar as configurações do Spring Boot ao ser iniciada pelo tomcat. Para isso precisamos estender a classe SpringBootServletInitializer e implementar o método configure. Veja:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class DemoClientApplication extends SpringBootServletInitializer {

	public static void main(String[] args) {
		SpringApplication.run(DemoClientApplication.class, args);
	}

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(DemoClientApplication.class);
	}
}

Pronto, após estas configurações já pode realizar o build do projeto e obter o arquivo .war dentro da pasta target. Para isso pode executar:

clean package

Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!