SpringBoot修改内置tomcat版本的操作步骤

一:由于Tomcat高危漏洞影响,本文介绍了如何查询和修改Springboot内嵌的Tomcat版本,包括通过POM文件或mvnrepository查询版本,以及通过添加properties配置更改版本。此外,还提到了遇到缺少tomcat-juli依赖时的解决办法。

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

我的依赖树查看项目整体的tomcat版本都是8.5.29

去到项目的根pom文件中,找到parent依赖:

打开这个pom文件,搜索 tomcat.version

可以查看到我们使用的tomcat版本为8.5.29,我们需要对此进行升级

二:我这边采取的方法使用了在我自己的项目的pom里面添加版本,就可以直接覆盖这里的版本了。


然后重新构建下maven项目,在查看项目的依赖树,发现整体的版本已经进行更新了

完美解决!到这里基本就完成了。

但是有时候启动会报错:

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

因为这个时候的tocmat缺少jar包,maven项目的话加上下面这个依赖就好了:

    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-juli</artifactId>
      <version>${tomcat.version}</version>
    </dependency>

tomcat 9.0 官方说明文档:http://tomcat.apache.org/tomcat-9.0-doc/config/http.html
萌新也是遇见了这个升级问题,查阅了网上大佬们的资料,在此记录一下,谢谢各位大佬的观看!

posted @   我是一个邓疯子  阅读(2077)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2023-08-15 JAVA使用Lock实现多线程并发生成唯一的流水号
ヾ(≧O≦)〃嗷~,

这是回到顶部的路哦

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示