SpringBoot學習-(十六)SpringBoot釋出到獨立的tomcat中執行
阿新 • • 發佈:2019-01-01
儘管Spring Boot專案會內建一個tomcat,僅只需通過一個簡單的指令便可啟動專案,但在生產環境下,我們還是習慣將專案釋出到第三外的servlet容器中,下面將介紹如果將一個Spring Boot專案部署到第三方tomcat中執行。
1)修改工程的打包方式為war
2)將spring-boot-starter-tomcat的範圍設定為provided
spring-boot-starter-tomcat是Spring Boot預設就會配置的,即上面說到的內嵌tomcat,將其設定為provided是在打包時會將該包(依賴)排除,因為要放到獨立的tomcat中執行,Spring Boot內嵌的Tomcat是不需要用到的。
<!--spring boot tomcat(預設可以不用配置,但當需要把當前web應用佈置到外部servlet容器時就需要配置,並將scope配置為provided)-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3)修改程式碼,設定啟動配置
需要繼承SpringBootServletInitializer,並重寫configure()方法,將Spring Boot的入口類設定進去。
// 若要部署到外部servlet容器,需要繼承SpringBootServletInitializer並重寫configure()
@SpringBootApplication
public class AhutApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure (SpringApplicationBuilder builder) {
// 設定啟動類,用於獨立tomcat執行的入口
return builder.sources(MyWebApplication.class);
}
}
4)打war包並部署到tomcat
選中專案,右鍵 > export