war 文件,第一步需要提供一个 SpringBootServletInitializer 子类并覆写 configure 方法。如此配置,使用了 Spring Framework 的 Servlet 3.0 支持,并且可以将 war 包部署在外部的 servlett 容器中,通常来说,我们需要修改应用的启动类,继承 SpringBootServletInitializer ,如下面范例所示:@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);
}
}
Maven 和 spring-boot-starter-parent( 其默认为我们配置了 Maven 的 war 插件),我们需要做的是在 pom.xml 文件中修改打包方式为 war,如下:<packaging>warpackaging>
servlet 容器不干扰 war 文件所部署到的外部 servlet 容器。在 pom.xml 文件中将内置的 tomcat 容器标记为已提供。<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-tomcatartifactId>
<scope>providedscope>
dependency>
dependencies>
Hi~ o( ̄▽ ̄)ブ 参考
Hi~ o( ̄▽ ̄)ブ 源码地址