Spring Boot 以 war 方式部署

时间:2021-02-09 15:37:18

Spring Boot 默认自带了一个嵌入式的 Tomcat 服务器,可以以jar方式运行,更为常见的情况是需要将 Spring Boot 应用打包成一个 war 包,部署到 Tomcat、Jerry 服务器,或者商业的 Weblogic、Websphere 上。这种情况下,需要将 pom 中的 packaging 改成 war 方式。

需要将嵌入的 Tomcat 依赖方式改成provided

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

还需要对Main类进行修改,使其继承SpringBootServletInitializer类,并重载configure方法

@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
} public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}