Converter Spring Boot para arquivo war

Postado em por Wolmir Cezer Garbin em Spring Boot | 88 Visualizações
Última atualização em:

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

Todo mundo tem algo para vender, AnuncieOn.com o melhor site de anúncios grátis de todo o Brasil. ABRIR

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.


Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

FIQUE POR DENTRO

Receba as novidades todo mês em seu e-mail!

Apoiadores


Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar