在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即可。