springboot内置了tomcat,所以springboot项目在开发环境中一般直接以jar包的形式进行运行,但在生产环境中还是建议使用tomcat来进行部署,独立部署到tomcat中需要注意以下几个事项:
1.设置打包形式为war包:
<packaging>war</packaging>
2.配置springboot内嵌tomcat的scope属性为provide:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3.添加tomcat依赖:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
</dependency>
4.改造启动类:
主要继承SpringBootServletInitializer且覆写configure方法,如下:
@SpringBootApplication
public class SpringbootApplcation extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplcation.class,args) ;
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(SpringbootApplcation.class);
}
}
5.打包发布,在项目根目录执行maven命令:
mvn clean package
6.将war包发布到tomcat即可。