檢視和指定SpringBoot內嵌Tomcat的版本
阿新 • • 發佈:2021-10-29
檢視當前使用的Tomcat版本號#
Maven Repository中檢視#
比如我們需要查Spring Boot 2.1.4-RELEASE的內嵌Tomcat版本, 可以開啟連結:
Copyhttps://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-tomcat/2.1.4.RELEASE
檢視dependepency#
透過IDE#
目前大家主要使用IDEA來進行開發,下面是IDEA檢視Tomcat的版本:
透過命令列#
Gradle可以採用以下命令列印依賴項:
./gradlew dependencies
資料結果示例:
Copy...
| +--- org.springframework.boot:spring-boot-starter-tomcat:2.1.0.RELEASE
| | +--- javax.annotation:javax.annotation-api:1.3.2
| | +--- org.apache.tomcat.embed:tomcat-embed-core:9.0.12
| | +--- org.apache.tomcat.embed:tomcat-embed-el:9.0.12
| | \--- org.apache.tomcat.embed:tomcat-embed-websocket:9.0.12
| | \--- org.apache.tomcat.embed:tomcat-embed-core:9.0.12
...
Maven可以採用以下命令列印依賴項:
Copymvn dependency:tree > output.txt # 輸出到檔案裡
指定SpringBoot專案內嵌的Tomcat版本#
直接升級SpringBoot的版本#
因為SpringBoot內嵌的Tomcat會伴隨SpringBoot的升級而升級,所以可以根據需要選擇合適的Tomcat版本,這種特別需要升級Tomcat版本時使用,當然還是要根據情況,因為升級SpringBoot的版本也是有成本的。
排除SpringBoot的Tomcat,指定Tomcat版本#
有時候我們需要在特定情況下使用特定的Tomcat版本,這時候總不能因為Tomcat就改變SpringBoot的版本,所以可以採用排除SpringBoot中的Tomcat包,然後手動指定Tomcat的版本,當然還要引入Tomcat相關的包。
Gradle的配置
Copycompile('org.springframework.boot:spring-boot-starter-web') {
exclude module: "spring-boot-starter-tomcat"
}
compile 'org.apache.tomcat.embed:tomcat-embed-core:+'
compile 'org.apache.tomcat.embed:tomcat-embed-el:+'
compile 'org.apache.tomcat.embed:tomcat-embed-logging-juli:+'
compile 'org.apache.tomcat.embed:tomcat-embed-websocket:+'
如果不指定版本,則會使用最新的Tomcat版本, 否則直接指定對應的版本號。
Maven的配置
在 pom.xml檔案裡面新增一個標籤<properties>
,新增期望的版本。
<tomcat.version>8.0.30</tomcat.version>
新增必要的Jar包:
Copy<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>