关于对 Tomcat 进行小版本升级的快速解决方案
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

如上图所示,因为旧版本是 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 进行小版本升级的快速解决方案的更多相关文章
- 记一次mysql小版本升级
最近护网操作比较紧,基线和漏洞检查比较频繁,新扫描出来的mysql漏洞需要修复,没有啥好的修复方法,只剩下升级版本这一条路,生产环境是5.7.12,二进制文件直接解压使用的,看了一下现在最新的版本,5 ...
- 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)
大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...
- Atiit 常见功能 常用功能与模块的最快速解决方案
Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...
- 微信小程序开发—快速掌握组件及API的方法
微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支 ...
- 微信小程序开发—快速掌握组件及API的方法---转载
微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支 ...
- UI:tomcat(说话小程序)、相框动画、UISgmentcontrol、UISwitch
UISegmentedControl 分段控件 //1. UISegmentedControl 分段控件 (就是一个一个的按钮) //分段显示的标题是以一个数组存储的 NSArray * titles ...
- 微信小程序之快速接入七牛云
小程序为什么要接入云? 目前,开发者在开发小程序过程中,主要遇到以下几个问题: 小程序发布大小超限 微信官方限制小程序的发布代码不能超过 1MB,而在实际开发过程中,一般的小程序难免会有图片等富媒体文 ...
- 微信小程序代码快速转化为H5代码的方法!
1.把小程序html里面的如下标签对应改成小程序的标签,即可快速转化成H5的页面! 利用ctrl+H将下面的对应标签全部替换! html: <view === <div </view ...
- [微信小程序] 通过快速启动demo分析小程序入门关键点
(1)小程序基础结构 下图是在开发者工具通过快速启动模式创建的小程序的目录结构 可以看到,小程序中主要包含有4中类型不同的文件 .json 后缀的 JSON 配置文件 .wxml 后缀的 WXML 模 ...
- ACM-ICPC 2018 焦作赛区网络预赛- G:Give Candies(费马小定理,快速幂)
There are N children in kindergarten. Miss Li bought them NNN candies. To make the process more inte ...
随机推荐
- .NET 个人博客-发送邮件优化🧐
个人博客-发送邮件优化 前言 之前的发送邮件就弄了个方法,比如回复评论会给评论的人发送邮件,留言回复也是,而且2者的代码有很多一样的地方,比较冗余.然后也是抽空优化一下,思路也是比较常用的工厂+策略模 ...
- c语言生成随机数
记录示例,留作自用 #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) ...
- Java常见问题-基础
JDK版本新特性: JDK1.4 正则表达式,异常链,NIO,日志类,XML解析器,XLST转换器 JDK1.5 自动装箱.泛型.动态注解.枚举.可变长参数.遍历循环 JDK1.6 提供动态语言支持. ...
- C++11标准库<chrono><future> <atomic><condition_variable><mutex><thread>梳理 (5万字)
<chrono> C++11中提供了日期和时间相关的库chrono. chrono库主要包含三种类型的类:时间间隔duration.时钟clocks.时间点time point. 时间间隔 ...
- Swift开发基础06-闭包
Swift的闭包(Closures)是一种将功能块和上下文整合并演示在代码中的一种手段.闭包可以捕获并存储其上下文中的变量和常量.与普遍存在于其他语言的匿名函数(如Python的lambda.Java ...
- Vue bug from backend
一个后端引发前端的BUG 使用的框架是vue 代码里面有一个组件 <table :data="data"/> 获取后台数据 this.data = await fetc ...
- Django使用 DoesNotExist 异常和 Logger 来记录异常情况
代码不仅处理了特定的异常类型,还可以添加更多的调试信息来帮助诊断问题.可以使用 DoesNotExist 异常和 Logger 来记录异常情况. from django.core.exceptions ...
- oeasy教您玩转vim - 73 - # 映射map
映射map 回忆上次缩写的细节 这次了解到了:abbrivate缩写 可以定义缩写 :ab o1z oeasy 这里面还可以包括方向键.回车键之类的东西 可以定义到指定的模式 iab cab 查看 ...
- 【译】使 Visual Studio 更加可视化
任何 Web.桌面或移动开发人员都经常使用图像.你可以从 C#.HTML.XAML.CSS.C++.VB.TypeScript 甚至代码注释中引用它们.有些图像是本地的,有些存在于线上或网络共享中,而 ...
- vscode 调试 nodejs 程序
nodejs 服务在vscode 中的调试 1.安装vscode 略(这不用说了吧) 2.写一个能跑的nodejs 程序 其实看到这个,自己已经有一个能跑的nodejs 程序,不用看我的了 我这里是我 ...