欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 简单的spring boot tomcat版本升级

简单的spring boot tomcat版本升级

2025/5/24 10:03:09 来源:https://blog.csdn.net/web_13233421436/article/details/144972543  浏览:    关键词:简单的spring boot tomcat版本升级

简单的spring boot tomcat版本升级

1. 需求

我们使用的springboot版本为2.3.8.RELEASE,对应的tomcat版本为9.0.41,公司tomcat对应版本发现攻击者可发送不完整的POST请求触发错误响应,从而可能导致获取其他用户先前请求的数据,造成信息泄露的bug,行方要求对tomcat版本进行升级,受影响版本如下:

Apache Tomcat 9.0.0-M11 至 9.0.43
Apache Tomcat 8.5.7 至 8.5.63

由上所示,我们公司决定将tomcat升级一个小版本升级到9.0.44版本,解决对应问题。

2.具体操作

具体操作分为如下几步

  1. 确定自己使用tomcat版本号,查看是否需要升级
  2. 移除tomcat错误版本编号,引入新的版本tomcat相关pom坐标
  3. 进行服务启动测试,查看版本编号是否修改成功
2.1 确定当前tomcat使用版本号
  • 首先我们需要确定自己对应的tomcat版本编号,可以使用右键点击进入spring-boot-starter-parent
    在这里插入图片描述
  • 然后再右键点击进入spring-boot-dependencies
    在这里插入图片描述
  • 然后我们在里面发现tomcat引入的jar包,再次进行右键点击spring-boot-starter-tomcat
    在这里插入图片描述
  • 最终发现tomcat版本为9.0.41,版本在漏洞版本中,所以需要升级
    在这里插入图片描述
  • 具体升级版本
    我们具体可以升级到设么版本,需要确定一下,可以使用maven的公共仓库mvnrepository确定一下到底支持哪些版本,通过在仓库中搜索spring-boot-starter-tomcat,找到对应的2.3.8.RELEASE版本,我们可以看到他的支持版本范围,具体访问地址
    在这里插入图片描述

注意:确定当前版本信息也可以使用maven的dependences树状依赖,查看依赖关系,此处我已经修改完了所以展示的页面也是修改完之后正确的tomcat版本
在这里插入图片描述

还可以使用maven冲突解决工具进行树结构查看,这里不多赘述了
在这里插入图片描述

2.2 移除starter-web模块对tomcat的依赖并引入新依赖

主要操作为pom文件中的starter-web,以及引入新的依赖,具体的pom文件如下所示,在maven对应的根pom中引入新版tomcat版本号 <tomcat.version>9.0.44</tomcat.version>
在这里插入图片描述我们项目有一个common模块,他统一引入starter-web模块,我们修改此处即可,其他引用模块则自动更新tomcat版本,具体pom信息如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>credit-business</artifactId><groupId>cn.git</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>business-common</artifactId><description>公共模块,业务依赖基础模块,提供基础的技术和业务支撑</description><dependencies><!-- feign 调用通用interceptor,保证调用header token 值不丢失 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion><exclusion><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-core</artifactId></exclusion><exclusion><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-el</artifactId></exclusion><exclusion><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-websocket</artifactId></exclusion><exclusion><groupId>org.apache.tomcat</groupId><artifactId>tomcat-annotations-api</artifactId></exclusion></exclusions></dependency><!-- tomcat 修复漏洞 --><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-core</artifactId><version>${tomcat.version}</version><exclusions><exclusion><groupId>org.apache.tomcat</groupId><artifactId>tomcat-annotations-api</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-annotations-api</artifactId><version>${tomcat.version}</version></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-el</artifactId><version>${tomcat.version}</version></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-websocket</artifactId><version>${tomcat.version}</version><exclusions><exclusion><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-core</artifactId></exclusion></exclusions></dependency><dependency><groupId>cn.git</groupId><artifactId>credit-swagger-starter</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>cn.git</groupId><artifactId>credit-oracle-starter</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>cn.git</groupId><artifactId>credit-redis-starter</artifactId><version>1.0-SNAPSHOT</version></dependency><!-- ftp上传下载--><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.7</version></dependency><dependency><groupId>cn.git</groupId><artifactId>credit-discovery-starter</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency></dependencies>
</project>
2.3 测试

其实前面的maven树以及依赖树已经证实 tomcat版本已经修改了,但是还是启动一下服务确定一下为好,那么再次启动服务,发现版本编号已经修改
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词