Dernière modification : 29/01/2022

Spring boot - Déploiement d'un WAR pour Tomcat

Dans cet article nous allons voir comment transformer un JAR issue de la compilation d'une application Spring Boot en un WAR afin de pouvoir l'utiliser via un serveur Tomcat.

1. Modification du fichier pom.xml

Il est nécessaire d'indiquer à maven de produire un fichier WAR. Pour ce faire, ajouter la ligne suivante dans le nœud project du fichier pom.xml :

<packaging>war</packaging>

Ajouter également dans le même fichier les dépendances suivantes :

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

2. Modification du @SpringBootApplication

Il est indispensable de mettre à jour la classe portant l'annotation @SpringBootApplication en l'étendant de la classe SpringBootServletInitializer et en modifiant la méthode configure comme suit :

@SpringBootApplication
public class SpringbootApplication extends SpringBootServletInitializer {

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

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(SpringbootApplication.class);
	}
}

Cette classe permet d'exécuter une SpringApplication à partir du déploiement d'un WAR.

3. Lancement

En construisant l'application et en la liant au serveur Tomcat, l'application devrait être opérationnelle au lancement de celui-ci.

LauLem.com - Conditions Générales d'Utilisation - Informations Légales - Charte relative aux cookies - Charte sur la protection des données personnelles - A propos