1. 程式人生 > >SpringBoot學習-(十六)SpringBoot釋出到獨立的tomcat中執行

SpringBoot學習-(十六)SpringBoot釋出到獨立的tomcat中執行

儘管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

這裡寫圖片描述