Conteúdo do item:
Como migrar um projeto existente de Spring Boot no formato JAR para o formato WAR
<packaging>war</packaging>
Exemplo:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.2</version>
<relativePath />
<!-- lookup parent from repository -->
</parent>
<groupId>br.com.byiorio</groupId>
<artifactId>performance_test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>performance_test</name>
<packaging>war</packaging>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>8</java.version>
</properties>
....
- Vamos adicionar a dependencia do TOMCAT como provided, com isso o projeto esperará um servidor web durante a instalação
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
Segundo Passo
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(PerformanceTestApplication.class);
}
}
@SpringBootApplication
public class PerformanceTestApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(PerformanceTestApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(PerformanceTestApplication.class, args);
}
}
Agora basta compilar seu projeto:
[INFO] Packaging webapp
[INFO] Processing war project
[INFO] Building war: \performance_test-main\java\javaCliente\target\performance_test-0.0.1-SNAPSHOT.war
[INFO] --- spring-boot-maven-plugin:2.6.2:repackage (repackage) @ performance_test ---
[INFO] Replacing main artifact with repackaged archive
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 48.825 s
[INFO] Finished at: 2022-01-25T15:16:32-02:00
[INFO] ------------------------------------------------------------------------
migration; jar; war; spring boot; deploy;