使用Tomcat部署SpringBoot專案
關於Tomcat的下載與安裝教程網上很多,這裡簡單給大家推薦一篇。我們的重點主要放在如何使用Tomcat來部署我們的SpringBoot專案上。
一、修改啟動類
繼承SpringBootServletInitializer類,並重寫覆蓋configure方法,程式碼如下:
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}
}
二、剔除依賴
在pom檔案的dependencies的標籤下加入以下依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId >spring-boot-start-tomcat</artifactId>
<scope>provided</scope>
</dependency>
該依賴的作用是:在專案打包時,剔除springboot內建tomcat。
如果沒有該步驟,打成的war包內,會有關於內建tomcat的多餘的jar包,但是並不影響專案最終的部署與執行。
三、打包
在專案的根目錄下(即包含pom.xml的目錄),在命令列裡輸入:
首先,Maven clean(清除快取);
然後,Run As->Maven install(打包成war)。
最後,在target資料夾下找到打包好的war。
四、部署
把target目錄下的war包放到tomcat的webapps目錄下,
去bin資料夾startup.bat啟動tomcat,即可自動解壓war包,並部署。
五、測試
六、配置
在部署至外部tomcat之後,我們在SpringBoot專案對內建tomcat做的相關配置就會失效,需要在外部tomcat中重新進行配置。
溫馨提醒各位童鞋:
1)當你對配置檔案的更改沒有信心的時候,請對需要更改的XML檔案進行備份,這樣你就可以沒有後顧之憂的為所欲為了。
2)XML標籤中每一個屬性之間都要空格作為分割,且不可預設某個屬性。
1.修改埠號:
在…/tomcat/conf/server.xml中
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
- 1
2.修改tomcat釋出路徑: 在…/tomcat/conf/server.xml中 找到Host標籤,這裡就是配置專案的地方。不需要對上面的配置進行修改,只需要在Host標籤內加入Context標籤即可,如下:
<Context path="" docBase="${專案包名}" debug="0" reloadable="true"/>
- 1
path是說明虛擬目錄的名字,如果你要只輸入ip地址就顯示主頁,則該鍵值留為空; docBase是虛擬目錄的路徑,它預設的是$tomcat/webapps/ROOT目錄。 做了這樣配置之後,你可以在本機通過localhost:8080/….直接訪問。 3.網址首頁的設定: 方法一、在…\tomcat8\conf(tomcat的配置目錄)中 修改web.xml文件最後的內容:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>....</welcome-file>
</welcome-file-list>
方法二、在…\tomcat8\webapps\ROOT(tomcat的預設網頁釋出根目錄)中
每一個釋出目錄下都有一個WEB-INF目錄,裡面也有一個web.xml,優先順序要比conf中的web.xml要高。並且web.xml 修改後,不需要重啟tomcat服務,重新整理頁面即可生效。
4.更多配置
未完待更新哦。或者你們在實際開發中自己發掘吧。有什麼相關的疑問,可以在評論區交流,看到我會盡快回復。