关于对 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 Core MVC基础之返回文件类型
.NET Core MVC基础之返回文件类型 前言 上一篇文章讲了基础的返回类型,这篇文章讲解如何返回文件类型给浏览器下载. 系列文章 .NET MVC基础之页面传值方式 通过图片流来返回图片 返回类 ...
- 缺氧debu模式
OxygenNotIncluded_Data(E:\SteamLibrary\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data) 文件 ...
- 3568F-三屏同显、异显方案演示
- 严格根号带修 RMQ
其实很简单,把之前随机数据的解法中维护块内数据的数据结构换成约束 RMQ,这样子复杂度 严格 单点修改 \(O(\sqrt n)\),区间查询 \(O(1)\),线性空间. 唯一的问题是常数太大了,有 ...
- 【Playwright+Python】系列教程(四)Pytest 插件在Playwright中的使用
一.命令行使用详解 使用Pytest插件在Playwright 中来编写端到端的测试. 1.命令行执行测试 pytest --browser webkit --headed 2.使用 pytest.i ...
- SpringBoot获取指定Resource下的文件内容
加入依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</a ...
- 国内版Unity 2023编辑器无法切换到DX12模式的解决方法
2024.7.4更新:至6000.0.5f1c1,此问题已修复 在{安装目录}\Editor里(也就是Unity安装的根目录)建立一个名叫D3D12的文件夹. 去{安装目录}\Editor\Data\ ...
- 浅析JS构造函数
构造函数(Constructor Function)是 JavaScript 中创建对象的一种重要方式,它不仅让我们能够创建具有相似属性和方法的对象,还能充分利用 JavaScript 的原型继承机制 ...
- Fiddler 使用fiddler无法抓取苹果手机https请求问题解决方案
使用fiddler无法抓取苹果手机https请求问题解决方案 by:授客 QQ:1033553122 测试环境 Win10 Fiddle4 IPhone6s 问题描述 使用fiddler抓取IPh ...
- c++ 异常记录
vector的排序使用的iterator必须先+1 再-1,否则报溢出警告,不能正确排序遍历map获取到的是对象副本,需要引用,不能直接拿来做引用 fortmat只支持原始类型,wstring,str ...