暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SpringBoot修改内置Tomcat版本

喜讯XiCent 2020-01-20
2348

前几天帮同事解决了一个小问题,感觉挺有必要,小记一下。背景是当前现网运行的SpringBoot项目版本为2.1.6,2.1.6内置Tomcat版本为9.0.21,而此版本的tomcat被局方扫描出了漏洞,需要紧急升级Tomcat到9.0.30。首先想到的办法就是直接升级SpringBoot版本到2.2.3,而项目中依赖的自有框架包使用的是2.1.6版本的包,尝试直接升级,报缺少了部分方法。因此就通过直接修改Tomcat版本方式。

前提

  1. 要想知道2.1.6版本的SpringBoot包依赖了什么版本的tomcat,必须找到父工程的依赖。也就是我们在pom文件中经常看到的parent节点

  1. <parent>

  2. <groupId>org.springframework.boot</groupId>

  3. <artifactId>spring-boot-starter-parent</artifactId>

  4. <version>2.1.6.RELEASE</version>

  5. <relativePath/>

  6. </parent>

spring-boot-dependencies

  1. 点进spring-boot-starter-parent可以看到,这个工程还有一个父工程spring-boot-dependencies。这里面定义了所有依赖的jar包与版本

  1. <parent>

  2. <groupId>org.springframework.boot</groupId>

  3. <artifactId>spring-boot-dependencies</artifactId>

  4. <version>2.1.6.RELEASE</version>

  5. <relativePath>../../spring-boot-dependencies</relativePath>

  6. </parent>

  1. 找到该工程的pom,搜索tomcat

  1. <tomcat.version>9.0.21</tomcat.version>

  1. 可见该版本确实依赖了9.0.21tomcat。现直接改成我们目的版本后,重新引入。

  1. <tomcat.version>9.0.30</tomcat.version>

  1. 到这就完成了Tomcat版本的配置。

ps:有风险,需确认升级到新版后是否对下兼容


文章转载自喜讯XiCent,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论