Springboot修改内嵌Tomcat版本

Springboot修改内嵌Tomcat版本

最近Tomcat爆出高危漏洞,基本影响所有的Tomcat版本,故需要对springboot项目进行版本升级
ps: 一般不建议修改springboot内嵌版本,内嵌版本都是经过验证比较稳定的版本

1、查询springboot内嵌的版本

使用idea等工具可以直接通过pom文件查看下面parent里面的Tomcat版本

1
2
3
4
5
6
<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版本就能解决,如下:

1
2
3
<properties>
<tomcat.version>9.0.31</tomcat.version>
</properties>

添加这个之后,spingboot的默认启动的tomcat版本就可以达到你自己需要的了。到这里基本就完成了。

3、异常情况

如果发现出现以下启动报错,说明缺少依赖tomcat-juli

1
2
3
4
5
6
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

关注公众号:开发者的花花世界


本作品采用知识共享署名 4.0 中国大陆许可协议进行许可,欢迎转载,但转载请注明来自御前提笔小书童,并保持转载后文章内容的完整。本人保留所有版权相关权利。

本文链接:https://royalscholar.cn/2020/02/29/Springboot修改内嵌Tomcat版本/

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×