最近Tomcat爆出高危漏洞,基本影響所有的Tomcat版本,故需要對springboot項目進行版本升級
ps:一般不建議修改springboot內嵌版本,內嵌版本都是經過驗證比較穩定的版本
1、查詢springboot內嵌的版本
使用idea等工具可以直接通過pom文件查看下面parent里面的Tomcat版本
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.12.RELEASE</version>
<type>pom</type>
</dependency>
也可以通過mvnrepository,查詢上面依賴,找到對應的版本點進去,往下拉會看到Tomcat版本,例如:
2、修改內嵌版本
非常簡單,直接通過添加properties的Tomcat版本就能解決,如下:
<properties>
<tomcat.version>9.0.31</tomcat.version>
</properties>
添加這個之后,spingboot的默認啟動的tomcat版本就可以達到你自己需要的了。到這里基本就完成了。
3、異常情況
如果發現出現以下啟動報錯,說明缺少依賴tomcat-juli
Caused by: java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.catalina.util.LifecycleBase.<clinit>(LifecycleBase.java:37)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:169)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134)
... 13 common frames omitted
到這里基本就結束了,springboot啟動會看到Tomcat的版本號:
關注Github:1/2極客
關注博客:御前提筆小書童
關注網站:HuMingfeng
關注公眾號:開發者的花花世界