查看當前使用的Tomcat版本號
Maven Repository中查看
比如我們需要查Spring Boot 2.1.4-RELEASE的內嵌Tomcat版本, 可以打開鏈接:
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-tomcat/2.1.4.RELEASE
如下圖, 紅框標記的就是tomcat的版本。
查看dependepency
透過IDE
目前大家主要使用IDEA來進行開發,下面是IDEA查看Tomcat的版本:
透過命令行
Gradle可以采用以下命令打印依賴項:
./gradlew dependencies
數據結果示例:
...
| +--- 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可以采用以下命令打印依賴項:
mvn dependency:tree > output.txt # 輸出到文件里
指定SpringBoot項目內嵌的Tomcat版本
直接升級SpringBoot的版本
因為SpringBoot內嵌的Tomcat會伴隨SpringBoot的升級而升級,所以可以根據需要選擇合適的Tomcat版本,這種特別需要升級Tomcat版本時使用,當然還是要根據情況,因為升級SpringBoot的版本也是有成本的。
排除SpringBoot的Tomcat,指定Tomcat版本
有時候我們需要在特定情況下使用特定的Tomcat版本,這時候總不能因為Tomcat就改變SpringBoot的版本,所以可以采用排除SpringBoot中的Tomcat包,然后手動指定Tomcat的版本,當然還要引入Tomcat相關的包。
Gradle的配置
compile('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包:
<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>