
🌸你好呀!我是断弦承露
🌟感谢陪伴~ 小白博主在线求友
🌿 跟着小白学/Java/软件设计/鸿蒙开发/芯片开发
📖专栏汇总:
《软件设计师》专栏 | 《Java》专栏 | 《 RISC-V 处理器实战》专栏 | 《Flutter鸿蒙实战》专栏 | 《React Native开发》专栏 ------|CSDN|------


文章目录
- [Apache Tomcat 9 下载全指南:版本选型、国内镜像、SHA-512 与 PGP 完整性校验(2026 最新)🌱](#Apache Tomcat 9 下载全指南:版本选型、国内镜像、SHA-512 与 PGP 完整性校验(2026 最新)🌱)
-
- [🧠 一、内容思维导图](#🧠 一、内容思维导图)
- [📚 二、下载前的基础认知](#📚 二、下载前的基础认知)
-
- [2.1 Tomcat 9 的定位与适用场景](#2.1 Tomcat 9 的定位与适用场景)
- [2.2 官方支持周期(2026 年选型参考)](#2.2 官方支持周期(2026 年选型参考))
- [2.3 Java 环境适配要求](#2.3 Java 环境适配要求)
- [🌐 三、下载渠道与镜像选择](#🌐 三、下载渠道与镜像选择)
-
- [3.1 官方下载入口](#3.1 官方下载入口)
- [3.2 官方镜像体系](#3.2 官方镜像体系)
- [3.3 国内同步镜像(国内用户推荐,已实测)](#3.3 国内同步镜像(国内用户推荐,已实测))
- [3.4 历史版本归档](#3.4 历史版本归档)
- [📦 四、发行包类型详解](#📦 四、发行包类型详解)
- [🖥️ 五、下载操作流程](#🖥️ 五、下载操作流程)
-
- [5.1 官方渠道下载步骤](#5.1 官方渠道下载步骤)
- [5.2 国内镜像提速步骤](#5.2 国内镜像提速步骤)
- [5.3 下载与校验流程图](#5.3 下载与校验流程图)
- [✅ 六、文件完整性校验](#✅ 六、文件完整性校验)
-
- [6.1 校验原理](#6.1 校验原理)
- [6.2 SHA-512 哈希校验(日常开发适用)](#6.2 SHA-512 哈希校验(日常开发适用))
- [6.3 PGP 数字签名校验(生产部署适用)](#6.3 PGP 数字签名校验(生产部署适用))
- [6.4 校验交互时序](#6.4 校验交互时序)
- [❗ 七、高频问题排查](#❗ 七、高频问题排查)
- [💬 八、FAQ 高频问答](#💬 八、FAQ 高频问答)
- [🔗 九、权威参考链接](#🔗 九、权威参考链接)
- [🎯 十、总结](#🎯 十、总结)
Apache Tomcat 9 下载全指南:版本选型、国内镜像、SHA-512 与 PGP 完整性校验(2026 最新)🌱
摘要 :本文以 Apache 官方当前发布的 Tomcat 9.0.121 为准(小版本持续滚动,实际以官方下载页显示为准),围绕下载全流程讲清核心问题:Tomcat 9 的适配场景与 Java 环境要求、各发行包的适用边界、官方与国内镜像的选择方法、两种文件完整性校验的实现逻辑与操作步骤。针对国内网络环境补充实测可用的镜像源与加速方案,覆盖 Windows / Linux / macOS 全平台操作。
点此查看 Tomcat 使用教程
🧠 一、内容思维导图
#mermaid-svg-mzx81FAab5VaOAXM{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-mzx81FAab5VaOAXM .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-mzx81FAab5VaOAXM .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-mzx81FAab5VaOAXM .error-icon{fill:#552222;}#mermaid-svg-mzx81FAab5VaOAXM .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-mzx81FAab5VaOAXM .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-mzx81FAab5VaOAXM .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-mzx81FAab5VaOAXM .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-mzx81FAab5VaOAXM .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-mzx81FAab5VaOAXM .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-mzx81FAab5VaOAXM .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-mzx81FAab5VaOAXM .marker{fill:#333333;stroke:#333333;}#mermaid-svg-mzx81FAab5VaOAXM .marker.cross{stroke:#333333;}#mermaid-svg-mzx81FAab5VaOAXM svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-mzx81FAab5VaOAXM p{margin:0;}#mermaid-svg-mzx81FAab5VaOAXM .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-mzx81FAab5VaOAXM .cluster-label text{fill:#333;}#mermaid-svg-mzx81FAab5VaOAXM .cluster-label span{color:#333;}#mermaid-svg-mzx81FAab5VaOAXM .cluster-label span p{background-color:transparent;}#mermaid-svg-mzx81FAab5VaOAXM .label text,#mermaid-svg-mzx81FAab5VaOAXM span{fill:#333;color:#333;}#mermaid-svg-mzx81FAab5VaOAXM .node rect,#mermaid-svg-mzx81FAab5VaOAXM .node circle,#mermaid-svg-mzx81FAab5VaOAXM .node ellipse,#mermaid-svg-mzx81FAab5VaOAXM .node polygon,#mermaid-svg-mzx81FAab5VaOAXM .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-mzx81FAab5VaOAXM .rough-node .label text,#mermaid-svg-mzx81FAab5VaOAXM .node .label text,#mermaid-svg-mzx81FAab5VaOAXM .image-shape .label,#mermaid-svg-mzx81FAab5VaOAXM .icon-shape .label{text-anchor:middle;}#mermaid-svg-mzx81FAab5VaOAXM .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-mzx81FAab5VaOAXM .rough-node .label,#mermaid-svg-mzx81FAab5VaOAXM .node .label,#mermaid-svg-mzx81FAab5VaOAXM .image-shape .label,#mermaid-svg-mzx81FAab5VaOAXM .icon-shape .label{text-align:center;}#mermaid-svg-mzx81FAab5VaOAXM .node.clickable{cursor:pointer;}#mermaid-svg-mzx81FAab5VaOAXM .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-mzx81FAab5VaOAXM .arrowheadPath{fill:#333333;}#mermaid-svg-mzx81FAab5VaOAXM .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-mzx81FAab5VaOAXM .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-mzx81FAab5VaOAXM .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-mzx81FAab5VaOAXM .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-mzx81FAab5VaOAXM .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-mzx81FAab5VaOAXM .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-mzx81FAab5VaOAXM .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-mzx81FAab5VaOAXM .cluster text{fill:#333;}#mermaid-svg-mzx81FAab5VaOAXM .cluster span{color:#333;}#mermaid-svg-mzx81FAab5VaOAXM div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-mzx81FAab5VaOAXM .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-mzx81FAab5VaOAXM rect.text{fill:none;stroke-width:0;}#mermaid-svg-mzx81FAab5VaOAXM .icon-shape,#mermaid-svg-mzx81FAab5VaOAXM .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-mzx81FAab5VaOAXM .icon-shape p,#mermaid-svg-mzx81FAab5VaOAXM .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-mzx81FAab5VaOAXM .icon-shape .label rect,#mermaid-svg-mzx81FAab5VaOAXM .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-mzx81FAab5VaOAXM .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-mzx81FAab5VaOAXM .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-mzx81FAab5VaOAXM :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Tomcat 9 下载指南
下载前基础认知
版本选型与支持周期
Java环境适配要求
下载渠道与镜像
官方下载入口
官方主备镜像
国内同步镜像
历史版本归档
发行包类型详解
Core核心二进制包
完整文档包
Deployer部署器
Embedded嵌入式包
Source源码包
下载与校验流程
SHA-512哈希校验
PGP数字签名校验
高频问题排查
FAQ问答
📚 二、下载前的基础认知
2.1 Tomcat 9 的定位与适用场景
Apache Tomcat 是开源的 Servlet 容器,用于运行基于 Java Servlet 规范开发的 Web 应用。Tomcat 9 实现了 Servlet 4.0、JSP 2.3、EL 3.0、WebSocket 1.1、JASPIC 1.1 规范,对应 Java EE 8 技术平台。
- 术语说明:Servlet 是 Java 处理 Web 请求的标准接口;JSP 是可嵌入 Java 逻辑的网页模板;EL 是用于页面数据读取的表达式语言;WebSocket 用于浏览器与服务端的全双工通信;JASPIC 是 Java 认证服务的标准扩展接口。
- Tomcat 9 是最后一个沿用
javax.*包命名体系的大版本 ,从 Tomcat 10 起包名整体迁移为jakarta.*。目前国内大量存量企业项目、高校教学案例均基于 Tomcat 9 构建,是 Java Web 学习的主流选型。
2.2 官方支持周期(2026 年选型参考)
根据 Apache 官方版本维护计划,Tomcat 9.0.x 的社区支持终止时间不早于 2027 年 3 月 31 日,9.0.x 分支结束后还将推出 9.1.x 分支持续回填安全补丁与缺陷修复,是官方承诺超出常规 10 年支持周期的长期维护版本。
2026 年使用 Tomcat 9 进行学习、开发与生产部署均处于官方支持周期内。完整版本支持矩阵见 Apache Tomcat 官方版本说明页。
2.3 Java 环境适配要求
官方版本对照表中,Tomcat 9.0.x 的 Java 支持范围标注为 8 and later,即 Java 8 及以上所有稳定版本均可兼容:
| Tomcat 大版本 | 当前最新小版本(官方页面为准) | Java 版本要求 |
|---|---|---|
| 9.0.x | 9.0.121 | Java 8 及以上(8 / 11 / 17 / 21 等稳定版均支持) |
| 10.1.x | 10.1.57 | Java 11 及以上 |
| 11.0.x | 11.0.24 | Java 17 及以上 |
注意:下载安装包本身不需要预装 Java,但后续启动 Tomcat 服务必须安装符合要求的运行环境。仅运行可使用 JRE,开发编译建议直接安装 JDK。国内开发环境推荐 JDK 8 或 JDK 17,与 Tomcat 9 兼容性最稳定。
🌐 三、下载渠道与镜像选择
Tomcat 安装包仅通过 Apache 官方渠道发布,第三方站点的安装包存在篡改风险。国内用户可使用权威同步镜像提升下载速度,但校验文件务必从官方源获取(原因见 3.3)。
3.1 官方下载入口
Tomcat 9 唯一官方下载页面:
👉 https://tomcat.apache.org/download-90.cgi


- KEYS:Tomcat 发布管理团队的 OpenPGP 公钥文件,用于 PGP 签名校验;
- 版本号锚点(如 9.0.121):当前最新稳定版本,版本号随官方发布滚动更新;
- Archives:历史版本归档入口。
3.2 官方镜像体系
Apache 默认通过 CDN 分发,主镜像异常时可切换备份镜像,二者均为官方域名、文件完整:
- 主镜像(默认分配):https://dlcdn.apache.org/tomcat/tomcat-9/
- 备份镜像:https://downloads.apache.org/tomcat/tomcat-9/
3.3 国内同步镜像(国内用户推荐,已实测)
国内云厂商维护了 Apache 仓库的同步镜像,国内运营商链路下载速度明显更快。以下目录链接经实测可正常访问:
- 阿里云镜像(实测可访问) :https://mirrors.aliyun.com/apache/tomcat/tomcat-9/
进入后按v版本号/bin/层级查找,例如v9.0.121/bin/。

⚠️ 一个必须知道的差异(实测) :阿里云该同步目录的
bin/下只提供安装包本体 (.zip/.tar.gz),不提供.sha512哈希文件与.asc签名文件(直接访问会 404)。因此:
- 安装包可以从阿里云下载以提速;
- 但校验所需的
.sha512、.asc、KEYS 文件,请一律从官方备份镜像downloads.apache.org下载 ,例如:
[https://downloads.apache.org/tomcat/tomcat-9/v9.0.121/bin/apache-tomcat-9.0.121.tar.gz.sha512](https://downloads.apache.org/tomcat/tomcat-9/v9.0.121/bin/apache-tomcat-9.0.121.tar.gz.sha512)清华大学 TUNA 等高校镜像站同样提供 Apache 同步副本,可在其镜像站内检索 tomcat 获取;无论使用哪个第三方镜像,下载后都必须完成哈希校验。
3.4 历史版本归档
官方主镜像只保留最新小版本,需要旧版本时走官方归档站(含全部历史版本与签名文件):
👉 https://archive.apache.org/dist/tomcat/tomcat-9/
旧版本可能含已公开漏洞,生产环境应尽量使用最新小版本。
📦 四、发行包类型详解
官方将发布包分为 Binary Distributions(二进制发布包,可直接运行) 与 Source Code Distributions(源码发布包,需自行编译) 两类:
| 分类 | 包名称 | 可用格式 | 包含内容 | 适用场景 |
|---|---|---|---|---|
| Core(核心) | 通用二进制包 | zip / tar.gz | 完整运行环境,含跨平台启动脚本、默认配置、示例应用 | 绝大多数开发者,学习与常规部署首选 |
| Core(核心) | Windows 专属包 | 32 位 / 64 位 zip | 通用包 + Windows 原生库(Tomcat Native,用于 APR 连接器与 OpenSSL 集成) | Windows 下需要原生性能优化的部署 |
| Core(核心) | Windows 服务安装包 | exe | 图形向导,可注册为 Windows 系统服务、配置开机自启 | Windows 服务器固定部署 |
| Full documentation | 完整文档包 | tar.gz | Tomcat 9 全套离线文档 | 内网离线查阅 |
| Deployer | 部署工具包 | zip / tar.gz | 远程部署工具(Ant 任务与 JMX 客户端),不含运行容器 | 运维批量远程部署应用 |
| Embedded | 嵌入式包 | tar.gz / zip | 可作为依赖嵌入 Java 应用的组件 | 自研应用内嵌 Web 服务 |
| Source Code | 源码包 | tar.gz / zip | 完整源代码 | 源码研究、二次开发 |
选型建议:
- Windows 学习开发:Core 下的 64 位 Windows zip (文件名
apache-tomcat-9.0.121-windows-x64.zip); - 老旧 32 位 Windows:对应文件名为
apache-tomcat-9.0.121-windows-x86.zip; - Linux / macOS:Core 下的 tar.gz (
apache-tomcat-9.0.121.tar.gz); - 通用
zip/tar.gz本身就是跨平台包,在 Windows 也能正常启动,Windows 专属包只是额外携带原生库。
🖥️ 五、下载操作流程
5.1 官方渠道下载步骤
-
打开 官方下载页,确认页面标注的当前最新版本号(本文写作时为 9.0.121);
-
定位到 Binary Distributions → Core 分区;

-
根据系统点击对应链接(如
64-bit Windows zip); -
页面跳转镜像并自动下载,未开始则点击 direct link ;

-
同时点击包旁的 sha512 / pgp 链接,保存校验文件。
下载得到的文件命名示例:
apache-tomcat-9.0.121-windows-x64.zip (64位Windows专属包)
apache-tomcat-9.0.121-windows-x86.zip (32位Windows专属包)
apache-tomcat-9.0.121.tar.gz (跨平台通用二进制包)
5.2 国内镜像提速步骤
- 进入 阿里云 Tomcat 9 镜像目录;
- 进入对应版本目录(如
v9.0.121/)下的bin/,下载需要的安装包本体; - 另开标签页 ,从官方备份镜像同版本
bin/目录下载对应的.sha512(做 PGP 再下.asc与 KEYS); - 将安装包与校验文件放在同一目录,按第六节校验通过后再使用。
5.3 下载与校验流程图
#mermaid-svg-g85dVmqLKk6totri{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-g85dVmqLKk6totri .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-g85dVmqLKk6totri .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-g85dVmqLKk6totri .error-icon{fill:#552222;}#mermaid-svg-g85dVmqLKk6totri .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-g85dVmqLKk6totri .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-g85dVmqLKk6totri .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-g85dVmqLKk6totri .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-g85dVmqLKk6totri .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-g85dVmqLKk6totri .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-g85dVmqLKk6totri .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-g85dVmqLKk6totri .marker{fill:#333333;stroke:#333333;}#mermaid-svg-g85dVmqLKk6totri .marker.cross{stroke:#333333;}#mermaid-svg-g85dVmqLKk6totri svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-g85dVmqLKk6totri p{margin:0;}#mermaid-svg-g85dVmqLKk6totri .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-g85dVmqLKk6totri .cluster-label text{fill:#333;}#mermaid-svg-g85dVmqLKk6totri .cluster-label span{color:#333;}#mermaid-svg-g85dVmqLKk6totri .cluster-label span p{background-color:transparent;}#mermaid-svg-g85dVmqLKk6totri .label text,#mermaid-svg-g85dVmqLKk6totri span{fill:#333;color:#333;}#mermaid-svg-g85dVmqLKk6totri .node rect,#mermaid-svg-g85dVmqLKk6totri .node circle,#mermaid-svg-g85dVmqLKk6totri .node ellipse,#mermaid-svg-g85dVmqLKk6totri .node polygon,#mermaid-svg-g85dVmqLKk6totri .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-g85dVmqLKk6totri .rough-node .label text,#mermaid-svg-g85dVmqLKk6totri .node .label text,#mermaid-svg-g85dVmqLKk6totri .image-shape .label,#mermaid-svg-g85dVmqLKk6totri .icon-shape .label{text-anchor:middle;}#mermaid-svg-g85dVmqLKk6totri .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-g85dVmqLKk6totri .rough-node .label,#mermaid-svg-g85dVmqLKk6totri .node .label,#mermaid-svg-g85dVmqLKk6totri .image-shape .label,#mermaid-svg-g85dVmqLKk6totri .icon-shape .label{text-align:center;}#mermaid-svg-g85dVmqLKk6totri .node.clickable{cursor:pointer;}#mermaid-svg-g85dVmqLKk6totri .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-g85dVmqLKk6totri .arrowheadPath{fill:#333333;}#mermaid-svg-g85dVmqLKk6totri .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-g85dVmqLKk6totri .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-g85dVmqLKk6totri .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-g85dVmqLKk6totri .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-g85dVmqLKk6totri .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-g85dVmqLKk6totri .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-g85dVmqLKk6totri .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-g85dVmqLKk6totri .cluster text{fill:#333;}#mermaid-svg-g85dVmqLKk6totri .cluster span{color:#333;}#mermaid-svg-g85dVmqLKk6totri div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-g85dVmqLKk6totri .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-g85dVmqLKk6totri rect.text{fill:none;stroke-width:0;}#mermaid-svg-g85dVmqLKk6totri .icon-shape,#mermaid-svg-g85dVmqLKk6totri .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-g85dVmqLKk6totri .icon-shape p,#mermaid-svg-g85dVmqLKk6totri .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-g85dVmqLKk6totri .icon-shape .label rect,#mermaid-svg-g85dVmqLKk6totri .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-g85dVmqLKk6totri .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-g85dVmqLKk6totri .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-g85dVmqLKk6totri :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 不一致
一致
选择下载渠道
官方下载页
国内同步镜像提速
选择安装包与校验文件
安装包来自镜像
校验文件来自官方源
本地执行哈希校验
哈希是否一致
删除文件重新下载
文件可用 进入部署环节
✅ 六、文件完整性校验
官方 Release Integrity 章节明确要求必须校验下载文件的完整性,提供 SHA-512 校验和 与 OpenPGP 签名两种机制。
6.1 校验原理
- SHA-512:对文件内容计算出固定长度的哈希串,文件改动一个字节结果即完全不同,回答"我下载的文件和官方是否一致";
- PGP 签名:发布方用私钥签名、用户用官方公钥验签,额外回答"文件是否确由 Tomcat 发布团队签发",安全强度更高。
6.2 SHA-512 哈希校验(日常开发适用)
第一步:获取官方哈希值
从官方备份镜像同版本 bin/ 目录下载 .sha512 文件,其内容的一般格式为:
<128位十六进制哈希值> <对应文件名>
仅需比对其中的哈希串部分,无需关心文件名与空格。
第二步:本地计算哈希值,在安装包所在目录打开终端:
Windows(命令提示符 CMD),一般形式
certutil -hashfile <安装包文件名> SHA512
示例:
certutil -hashfile apache-tomcat-9.0.121-windows-x64.zip SHA512
certutil 是 Windows 自带的证书与哈希工具,-hashfile 表示计算文件哈希,末尾 SHA512 指定算法。结果取 SHA512 哈希: 后那一串字符。
Linux
sha512sum <安装包文件名>
示例:sha512sum apache-tomcat-9.0.121.tar.gz
macOS
shasum -a 512 <安装包文件名>
示例:shasum -a 512 apache-tomcat-9.0.121.tar.gz,-a 512 指定使用 SHA-512 算法。
若精简版 Windows 没有 certutil,可用 PowerShell:
Get-FileHash <文件名> -Algorithm SHA512,取输出表格中的 Hash 列比对即可。
第三步:比对
将本地哈希串与官方 .sha512 中的哈希串逐字符比对。
- 十六进制哈希不区分大小写(A-F 与 a-f 等价);
- 只比哈希串,不要把文件名、提示语算进去;
- 建议粘贴到文本编辑器上下对齐核对。完全一致即文件可信,不一致则删除重下。
6.3 PGP 数字签名校验(生产部署适用)
-
准备 GPG:Windows 可安装 Gpg4win,Linux / macOS 一般自带
gpg; -
从官方源获取公钥文件 KEYS(实测地址):
[https://downloads.apache.org/tomcat/tomcat-9/KEYS](https://downloads.apache.org/tomcat/tomcat-9/KEYS) -
导入公钥,一般形式:
gpg --import <公钥文件名>
示例:gpg --import KEYS,--import 表示把公钥导入本机钥匙环。
-
从官方源下载对应安装包的
.asc签名文件,执行验证,一般形式:gpg --verify <签名文件名> <被签名的安装包>
示例:
gpg --verify apache-tomcat-9.0.121.tar.gz.asc apache-tomcat-9.0.121.tar.gz
--verify 表示仅做验签。输出出现 Good signature 即通过。
出现
WARNING: This key is not certified with a trusted signature属正常提示,仅表示你尚未对该公钥建立个人信任,不代表文件有问题;高安全场景可通过 Apache 官方渠道核对公钥指纹。
6.4 校验交互时序
graph LR
A[用户终端] --> B[镜像站点]
B --> A[安装包文件]
A --> C[官方HTTPS源]
C --> A[sha512或KEYS与asc]
A --> D[本地校验工具]
D --> E[生成校验结果]
E --> F{与官方值比对}
F -- 匹配 --> G[信任该文件]
F -- 不匹配 --> H[丢弃文件重新获取]
❗ 七、高频问题排查
| 问题现象 | 产生原因 | 解决方案 |
|---|---|---|
| 官方镜像下载慢、频繁中断 | 到境外 CDN 链路波动 | 安装包改用阿里云同步镜像提速;校验文件仍从官方源取 |
在阿里云镜像找不到 .sha512 / .asc(404) |
该同步目录只提供安装包本体(实测) | 校验与签名文件到官方 downloads.apache.org 对应版本 bin/ 目录下载 |
| 哈希值比对不一致 | 文件损坏,或校验文件与安装包版本不匹配 | 确认两者小版本号、包名完全一致;删除后更换镜像重下 |
CMD 提示 certutil 不是有效命令 |
精简系统或环境异常 | PowerShell 执行 Get-FileHash <文件名> -Algorithm SHA512,取 Hash 列 |
| 看不到文件扩展名,分不清 zip 与 sha512 | 系统默认隐藏扩展名 | 文件资源管理器"查看"中勾选"文件扩展名" |
| 浏览器提示"无法安全下载" | 浏览器对压缩包/EXE 的安全策略 | 确认域名是 apache.org 或可信镜像后,在下载记录选"保留" |
| 点链接 404(尤其旧版本) | 旧版本已从主镜像移除 | 当前版本走下载页;历史版本走 archive 归档站 |
| 文章里的版本号和官网不一样 | 官方小版本滚动更新 | 一切以官方下载页显示的版本号为准,文中命令与文件名替换成对应版本即可 |
| 解压后目录不全或报错 | 压缩包损坏 / 解压工具兼容 | 先校验哈希;Windows 用自带解压或 7-Zip,Linux 用 tar -zxf |
| 内网无法联网如何校验 | 外网受限 | 在联网机上同时下载安装包与校验文件,统一拷入内网后本地比对,校验过程不联网 |
💬 八、FAQ 高频问答
Q1:Tomcat 9、10.1、11 的核心区别?国内开发选哪个?
Tomcat 9 实现 Servlet 4.0,沿用 javax.* 包名;10.1 / 11 实现更高版本规范,包名迁移为 jakarta.*,基于 javax 的项目不能直接兼容。学习与旧项目维护优先选 Tomcat 9,全新 Jakarta EE 项目可评估更高版本。对照见 官方版本页。
Q2:Tomcat 收费吗?商业项目能用吗?
采用 Apache License 2.0,个人与商业均可免费使用、修改、分发,无功能阉割与授权费。
Q3:国内用哪个镜像快?校验文件在哪下?
安装包可从已实测的 阿里云镜像 下载提速;清华 TUNA 等高校镜像也提供同步副本。注意第三方镜像通常只同步安装包本体,.sha512 / .asc / KEYS 请从官方 downloads.apache.org 获取,并用 SHA-512 校验通过后再用。
Q4:下了 Source Code 源码包能直接启动吗?
不能,源码包需用 Maven 等工具自行编译。普通用户请下载 Binary Distributions → Core 二进制包。
Q5:只做 SHA-512 够吗?要不要同时做 PGP?
SHA-512 足以应对日常学习开发;生产部署、等保合规建议两者都做,并让安装包与 KEYS / .asc 分渠道获取。
Q6:小版本需要追最新吗?
建议。9.0.x 小版本以安全与缺陷修复为主,同大版本升级兼容性风险低。最新版本号以 官方下载页 显示为准。
🔗 九、权威参考链接
- Apache Tomcat 9 官方下载页
- Apache Tomcat 版本对照与支持周期
- Tomcat 9 官方在线文档
- 官方主镜像 dlcdn.apache.org
- 官方备份镜像 downloads.apache.org
- 历史版本官方归档 archive.apache.org
- 阿里云同步镜像 Tomcat 9 目录
- Gpg4win(Windows 版 GPG 工具)
- Apache License 2.0 协议全文
- Apache 软件基金会官网
🎯 十、总结
Tomcat 9 下载的主线是:认准官方入口 → Core 区按系统选包 → 安装包可用国内镜像提速、校验文件从官方源获取 → SHA-512(生产再加 PGP)校验通过再使用。当前最新版本为 9.0.121(以官网为准),运行需 Java 8 及以上,9.0.x 官方支持至少持续到 2027 年 3 月。把好"来源"与"校验"两道关,后续解压、配置、启动才有安全根基。
如果本文对你有帮助,欢迎点赞👍、收藏⭐、评论💬、关注➕!
个人领域:C++/java/Al/软件开发/芯片开发个人主页:「一名热衷协作的开发者,在构建中学习,期待与你交流技术、共同成长。」
座右铭:「与其完美地观望,不如踉跄地启程」

