最近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
关注公众号:开发者的花花世界