1.将pom.xml文件中的jar改为war,如果没有显示jar,说明是默认打成jar,只需添加打成war即可。
<!--<packaging>jar</packaging>-->
<!-- 打包war [1] -->
<packaging>war</packaging>
2.找到pom.xml中starter-web依赖,添加移除内置tomcat。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 打包war [2] 移除自带内置tomcat -->
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
3.手动添加servlet容器依赖。
<!-- 打包war [3] 添加依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
- 在application.java同级目录下创建启动引导类WarStarterApplication.java,并继承SpringBootServletInitializer类。
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
// 打包war [4] 增加war的启动类
public class WarStarterApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 指向Application这个springboot启动类
return builder.sources(Application.class);
}
}
5.清理并编译,执行mvn clean package。