在配置文件中設置打包方式爲war
<packaging>war</packaging>
修改啓動類,繼承SpringBootServletInitializer類,並且重寫configure方法
public class XdclassApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(XdclassApplication.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(XdclassApplication.class, args);
}
}
確保內置servlet container 不會干涉發佈該war包的servlet container,方案是標記內置servlet container 的依賴爲 provided,打好war 包 放在 tomcat下就可以了
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>