1、背景描述

原来的 Tomcat 在部署时,使用的是最新的版本 9.0.40 。

经过一段时间后,在原来的 Tomcat 版本中,发现存在漏洞。

因此,需要将旧版本(9.0.40)升级到没有漏洞的新版本(9.0.93)。

2、查看Tomcat的版本信息

如上图所示,在 tomcat 的 bin 目录下打开 cmd 窗口,运行 version.bat 程序,即可查看 tomcat 当前的版本信息(本例的版本为 9.0.40 )。

注意:如果是在 Linux 操作系统中,运行的是 version.sh 程序。

3、下载新版本的Tomcat

官网下载地址:https://archive.apache.org/dist/tomcat/

如上图所示,因为旧版本是 tomcat-9 大版本中的,因此选择下载的新版本也最好是 tomcat-9 大版本中的。

如上图所示,选择下载日期最新的小版本。

如上图所示,bin 目录存放的是已编译的程序,src 目录存放的是需要编译的源代码;没有特殊需求,选择已编译的程序即可。

如上图所示,选择下载 zip 格式(更加通用)的 tomcat 安装包。

4、备份旧版本的核心目录

4.1、复制备份bin文件夹

如上图所示,创建一个文件夹,用来复制备份旧版本 tomcat 的 bin 文件夹的内容。

4.2、复制备份lib文件夹

如上图所示,在备份文件夹中,复制备份旧版本 tomcat 的 lib 文件夹的内容。

5、替换新版本的核心目录

5.1、覆盖替换bin文件夹

如上图所示,用新版本 tomcat 的 bin 文件夹,覆盖替换旧版本 tomcat 的 bin 文件夹。

注意:因为原 bin 文件夹可能存在一些自定义的配置文件(例如 setenv.bat 或 setenv.sh ),所以推荐使用覆盖替换的操作,而不是直接把旧目录删除、然后放新目录。

5.2、覆盖替换lib文件夹

如上图所示,用新版本 tomcat 的 lib 文件夹,覆盖替换旧版本 tomcat 的 lib 文件夹。

注意:因为原 lib 文件夹可能存在一些自定义的 jar 包文件,所以推荐使用覆盖替换的操作,而不是直接把旧目录删除、然后放新目录。

6、确认Tomcat的新版本信息

如上图所示,在 tomcat 的 bin 目录下打开 cmd 窗口,运行 version.bat 程序,即可确认 tomcat 升级后的版本信息(本例的版本为 9.0.93 )。

注意:如果是在 Linux 操作系统中,运行的是 version.sh 程序。

本文参考

【1】【samirL】【升级tomcat版本方式】【博客园】【2020-09-14】

【2】【蜗牛计划中】【如何查看tomcat的版本信息】【百度经验】【2018-05-12】

关于对 Tomcat 进行小版本升级的快速解决方案的更多相关文章

  1. 记一次mysql小版本升级

    最近护网操作比较紧,基线和漏洞检查比较频繁,新扫描出来的mysql漏洞需要修复,没有啥好的修复方法,只剩下升级版本这一条路,生产环境是5.7.12,二进制文件直接解压使用的,看了一下现在最新的版本,5 ...

  2. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  3. Atiit 常见功能 常用功能与模块的最快速解决方案

    Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...

  4. 微信小程序开发—快速掌握组件及API的方法

    微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支 ...

  5. 微信小程序开发—快速掌握组件及API的方法---转载

    微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支 ...

  6. UI:tomcat(说话小程序)、相框动画、UISgmentcontrol、UISwitch

    UISegmentedControl 分段控件 //1. UISegmentedControl 分段控件 (就是一个一个的按钮) //分段显示的标题是以一个数组存储的 NSArray * titles ...

  7. 微信小程序之快速接入七牛云

    小程序为什么要接入云? 目前,开发者在开发小程序过程中,主要遇到以下几个问题: 小程序发布大小超限 微信官方限制小程序的发布代码不能超过 1MB,而在实际开发过程中,一般的小程序难免会有图片等富媒体文 ...

  8. 微信小程序代码快速转化为H5代码的方法!

    1.把小程序html里面的如下标签对应改成小程序的标签,即可快速转化成H5的页面! 利用ctrl+H将下面的对应标签全部替换! html: <view === <div </view ...

  9. [微信小程序] 通过快速启动demo分析小程序入门关键点

    (1)小程序基础结构 下图是在开发者工具通过快速启动模式创建的小程序的目录结构 可以看到,小程序中主要包含有4中类型不同的文件 .json 后缀的 JSON 配置文件 .wxml 后缀的 WXML 模 ...

  10. ACM-ICPC 2018 焦作赛区网络预赛- G:Give Candies(费马小定理,快速幂)

    There are N children in kindergarten. Miss Li bought them NNN candies. To make the process more inte ...

随机推荐

  1. .NET 个人博客-发送邮件优化🧐

    个人博客-发送邮件优化 前言 之前的发送邮件就弄了个方法,比如回复评论会给评论的人发送邮件,留言回复也是,而且2者的代码有很多一样的地方,比较冗余.然后也是抽空优化一下,思路也是比较常用的工厂+策略模 ...

  2. c语言生成随机数

    记录示例,留作自用 #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) ...

  3. Java常见问题-基础

    JDK版本新特性: JDK1.4 正则表达式,异常链,NIO,日志类,XML解析器,XLST转换器 JDK1.5 自动装箱.泛型.动态注解.枚举.可变长参数.遍历循环 JDK1.6 提供动态语言支持. ...

  4. C++11标准库<chrono><future> <atomic><condition_variable><mutex><thread>梳理 (5万字)

    <chrono> C++11中提供了日期和时间相关的库chrono. chrono库主要包含三种类型的类:时间间隔duration.时钟clocks.时间点time point. 时间间隔 ...

  5. Swift开发基础06-闭包

    Swift的闭包(Closures)是一种将功能块和上下文整合并演示在代码中的一种手段.闭包可以捕获并存储其上下文中的变量和常量.与普遍存在于其他语言的匿名函数(如Python的lambda.Java ...

  6. Vue bug from backend

    一个后端引发前端的BUG 使用的框架是vue 代码里面有一个组件 <table :data="data"/> 获取后台数据 this.data = await fetc ...

  7. Django使用 DoesNotExist 异常和 Logger 来记录异常情况

    代码不仅处理了特定的异常类型,还可以添加更多的调试信息来帮助诊断问题.可以使用 DoesNotExist 异常和 Logger 来记录异常情况. from django.core.exceptions ...

  8. oeasy教您玩转vim - 73 - # 映射map

    ​ 映射map 回忆上次缩写的细节 这次了解到了:abbrivate缩写 可以定义缩写 :ab o1z oeasy 这里面还可以包括方向键.回车键之类的东西 可以定义到指定的模式 iab cab 查看 ...

  9. 【译】使 Visual Studio 更加可视化

    任何 Web.桌面或移动开发人员都经常使用图像.你可以从 C#.HTML.XAML.CSS.C++.VB.TypeScript 甚至代码注释中引用它们.有些图像是本地的,有些存在于线上或网络共享中,而 ...

  10. vscode 调试 nodejs 程序

    nodejs 服务在vscode 中的调试 1.安装vscode 略(这不用说了吧) 2.写一个能跑的nodejs 程序 其实看到这个,自己已经有一个能跑的nodejs 程序,不用看我的了 我这里是我 ...