1. 程式人生 > >SpringBoot釋出到獨立的tomcat中執行

SpringBoot釋出到獨立的tomcat中執行

在開發階段我們推薦使用內嵌的tomcat進行開發,因為這樣會方便很多,但是到生成環境,我希望在獨立的tomcat容器中執行,因為我們需要對tomcat做額外的優化,這時我們需要將工程打包成war包進行釋出。

工程的打包方式為war包

1、將spring-boot-starter-tomcat的範圍設定為provided

在pom中新增spring-boot-starter-tomcat,設定為provided是在打包時會將該包排除,因為要放到獨立的tomcat中執行,所以內建的Tomcat是不需要的。

<dependency>

<groupId>org.springframework.boot

</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

<scope>provided</scope>

</dependency>

2、修改程式碼,設定啟動配置

為什麼要繼承SpringBootServletInitializer類和重寫configure方法稍後我在詳細講解。

3、打war包

4、部署到Tomcat中

打包成功後將war包解壓到Tomcat的webapps下的ROOT目錄中,啟動就部署完成了;

現在對為什麼要繼承SpringBootServletInitializer類和重寫configure方法詳細講解。

首先我們要明白一點,SpringBoot專案是沒有web.xml檔案的,那我們怎麼啟動專案的?我們先看一下SpringBoot的war包解約後結構:


這些類是怎麼來的?其實這些類就是我們繼承SpringBootServletInitializer類和重寫configure方法後才會在打包時自動生成的,如果要問為什麼繼承SpringBootServletInitializer類之後SpringBoot就會幫我們自動生成一系列檔案的話,就需要你自己去翻看原始碼了,O(∩_∩)O哈哈~