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);
}
}