SpringBoot?升級內(nèi)嵌Tomcat的操作示例
SpringBoot 更新 Tomcat
最近公司的一個老項目需要升級下Tomcat,由于這個項目我完全沒有參與,所以一開始我以為是一個老的Tomcat項目,升級它的Tomcat依賴或者是Tomcat容器鏡像,后面發(fā)現(xiàn)是一個SpringBoot項目,升級的是SpringBoot內(nèi)置的Tomcat。
這樣的升級可以保證項目最小變動的情況下,將一個不安全版本的內(nèi)部依賴升級成安全版本的內(nèi)置依賴,還是比較有用的,因此在這里做一下記錄。
我這里采用的是屏蔽舊的依賴,然后手動寫dependency的方式:
1.首先找到在Maven依賴文件中找到SpringBoot-starter-web:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>如果你要升級的是其他的內(nèi)置依賴,可以先在右側(cè)Maven-Dependency中找到這個依賴,以確定該依賴是在哪個包下面的,然后進行如下操作即可。

2.使用<exclusion>標(biāo)簽屏蔽內(nèi)置的舊的Tomcat依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
</exclusion>
</exclusions>
</dependency>進行到這一步驟,再次點到Maven-依賴中查看SpringBoot-Starter-Web下面查看,原來的Tomcat已經(jīng)沒有了。

3.通過dependency標(biāo)簽引入新的Tomcat依賴
<properties>
<java.version>1.8</java.version>
<tomcat.version>9.0.63</tomcat.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>${tomcat.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
新的依賴引入成功,啟動一下項目試一下:

啟動成功!更新完成!
一覽全貌:

參考文章:【Spring Boot啟動過程(六)之內(nèi)嵌Tomcat中StandardHost、StandardContext和StandardWrapper的啟動教程詳解】
到此這篇關(guān)于SpringBoot 升級內(nèi)嵌Tomcat的文章就介紹到這了,更多相關(guān)SpringBoot 內(nèi)嵌Tomcat內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在IDEA 2020.3.1中部署Tomcat并且創(chuàng)建第一個web項目的過程詳解
這篇文章主要介紹了在IDEA 2020.3.1中部署Tomcat并且創(chuàng)建第一個web項目,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
Linux系統(tǒng)centos7.X安裝tomcat8的圖文教程
這篇文章主要介紹了Linux系統(tǒng)centos7.X安裝tomcat8的圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
cemtos 7 linux 安裝與卸載 tomcat 7的教程
這篇文章主要介紹了cemtos 7 linux 安裝與卸載 tomcat 7的教程,需要的朋友可以參考下2017-10-10
Tomcat內(nèi)嵌啟動時找不到Web應(yīng)用的路徑解決過程
如果Tomcat找不到web項目,可能是因為項目部署不正確或者配置有誤,這篇文章主要介紹了Tomcat內(nèi)嵌啟動時找不到Web應(yīng)用的路徑的解決過程,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-11-11

