1.修改打包形式---修改pom.xml文件
<packaging>war</packaging>
2.移除嵌入式tomcat插件---在pom.xml里找到spring-boot-starter-web节点,在其中添加代码
<!--打包war-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
3.添加servlet-api的依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
4.修改启动类,并重写初始化方法 对于SpringBoot来说 它会有一个Application启动类,现在我们打war包需要类似于web.xml的配 置方式来启动spring上下文了, 所以我们需要在Application类的同级添加一个SpringBootStartApplication类,其代码如下:
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向你之前的启动类也就是Application(我这的启动类是HeadlineApplication)
return builder.sources(HeadlineApplication.class);
}
}
5.打包部署
可以使用maven插件 mvn clean package
即可, 等待打包完成,出现[INFO] BUILD SUCCESS
即为打包成功,找到war包,放到tomcat下的webapps下 启动tomcat即可