一、修改打包形式
在pom.xml里设置
<packaging>war</packaging>
二、打包排除嵌入式tomcat插件
在pom.xml里找到
spring-boot-starter-web
节点,在其下方添加下面代码,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
三、添加servlet-api的依赖
<dependency><groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
四、创建ServletInitializer.java,继承SpringBootServletInitializer ,覆盖configure(),把启动类Application注册进去。外部web应用服务器构建Web Application Context的时候,会把启动类添加进去。
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(selfApplication.class);//使用自己的启动类名称
}
}
五、进到项目所在目录,与 pom.xml 文件同级进行打包
执行 mvn package
然后把target目录下的war包放到tomcat的webapps目录下,
启动tomcat,
即可自动解压部署。
注意 版本一致问题,如果不一致会出现无法启动tomcat问题
本人使用 环境 : 1、tomcat8 和 jre8 2、代码编译使用jdk8打成的war包