springboot打war包
背景
需要将springboot项目打成war包放到独立的tomcat中运行
一.修改要打包的pom.xml文件
修改pom.xml中的packaging标签
<!--<packaging>jar</packaging>-->
<!-- war [1] -->
<packaging>war</packaging>
二.排除springboot内部自带tomcat
修改pom.xml标签,修改spring-boot-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>
三.添加java servlet的依赖
由于我们移除了springboot内置的tomcat,所以需要手动添加一个servlet的依赖
通过pom.xml添加一下依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
四.添加springboot war包启动类
在springboot的入口 Application.java的同级目录下添加WarStarterApplication的自定义启动类
public class WarStarterApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 指向Application这个springboot启动类
return builder.sources(Application.class);
}
}
五.利用maven打包
先clean一遍项目,再用install就可以打包完成了