spring-boot在给我们带来便利的同时也带来了一些部署上的麻烦,这是因为spring-boot是为微服务为导向的,所以spring-boot项目更多是打包成jar包,然后使用内嵌的tomcat插件运行该jar包,但是有时我们需要将spring-boot项目打包成war包,然后和其他项目一起部署到外部的tomcat上,如何实现呢,spring-boot官网给出了步骤,下面为详细步骤:
1.Application类继承SpringBootServletInitializer类,并覆盖其configure方法:
代码语言:javascript复制@SpringBootApplication
public class Application extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2.修改pom文件,将打包形式配置为war:
代码语言:javascript复制 <packaging>war</packaging>
3.将spring-boot-starter-tomcat包pom中scope设置为provided,这样就会使用外部tomcat,而不使用内嵌的tomcat服务器:
代码语言:javascript复制 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>