在pom.xml里设置打包格式为war

<packaging>war</packaging>

排除內嵌的tomcat依赖,避免jar包冲突

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
	<!--排除内置容器,排除内置容器导出成war包可以让外部容器运行spring-boot项目-->
	<exclusions>
		<exclusion>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</exclusion>
	</exclusions>
</dependency>

Spring boot项目必须实现SpringBootServletInitializer接口的configure()方法才能让外部容器运行Spring Boot项目,启动类同目录下创建ServletInitializer类:

public class ServletInitializer extends SpringBootServletInitializer{
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
		return application.sources(JspApplication.class);
	}
}

打包发布,在项目根目录执行maven命令

mvn clean package

将war包发布到tomcat即可。