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( ̄▽ ̄)ブ 源码地址