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
萌新也是遇见了这个升级问题,查阅了网上大佬们的资料,在此记录一下,谢谢各位大佬的观看!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2023-08-15 JAVA使用Lock实现多线程并发生成唯一的流水号