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

2.使用<exclusion>標簽屏蔽內置的舊的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已經沒有了。

3.通過dependency標簽引入新的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啟動過程(六)之內嵌Tomcat中StandardHost、StandardContext和StandardWrapper的啟動教程詳解】
到此這篇關于SpringBoot 升級內嵌Tomcat的文章就介紹到這了,更多相關SpringBoot 內嵌Tomcat內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
在IDEA 2020.3.1中部署Tomcat并且創(chuàng)建第一個web項目的過程詳解
這篇文章主要介紹了在IDEA 2020.3.1中部署Tomcat并且創(chuàng)建第一個web項目,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
Linux系統(tǒng)centos7.X安裝tomcat8的圖文教程
這篇文章主要介紹了Linux系統(tǒng)centos7.X安裝tomcat8的圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
cemtos 7 linux 安裝與卸載 tomcat 7的教程
這篇文章主要介紹了cemtos 7 linux 安裝與卸載 tomcat 7的教程,需要的朋友可以參考下2017-10-10

