Apache Tomcat 9 下载全指南(Windows,Linux,macOS):版本选型、国内镜像、SHA-512 与 PGP 完整性校验


🌸你好呀!我是断弦承露
🌟感谢陪伴~ 小白博主在线求友
🌿 跟着小白学/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 分发,主镜像异常时可切换备份镜像,二者均为官方域名、文件完整:

3.3 国内同步镜像(国内用户推荐,已实测)

国内云厂商维护了 Apache 仓库的同步镜像,国内运营商链路下载速度明显更快。以下目录链接经实测可正常访问:

⚠️ 一个必须知道的差异(实测) :阿里云该同步目录的 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.gzapache-tomcat-9.0.121.tar.gz);
  • 通用 zip / tar.gz 本身就是跨平台包,在 Windows 也能正常启动,Windows 专属包只是额外携带原生库。

🖥️ 五、下载操作流程

5.1 官方渠道下载步骤

  1. 打开 官方下载页,确认页面标注的当前最新版本号(本文写作时为 9.0.121);

  2. 定位到 Binary Distributions → Core 分区;

  3. 根据系统点击对应链接(如 64-bit Windows zip);

  4. 页面跳转镜像并自动下载,未开始则点击 direct link

  5. 同时点击包旁的 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 国内镜像提速步骤

  1. 进入 阿里云 Tomcat 9 镜像目录;
  2. 进入对应版本目录(如 v9.0.121/)下的 bin/,下载需要的安装包本体;
  3. 另开标签页 ,从官方备份镜像同版本 bin/ 目录下载对应的 .sha512(做 PGP 再下 .asc 与 KEYS);
  4. 将安装包与校验文件放在同一目录,按第六节校验通过后再使用。

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 数字签名校验(生产部署适用)

  1. 准备 GPG:Windows 可安装 Gpg4win,Linux / macOS 一般自带 gpg

  2. 从官方源获取公钥文件 KEYS(实测地址):
    [https://downloads.apache.org/tomcat/tomcat-9/KEYS](https://downloads.apache.org/tomcat/tomcat-9/KEYS)

  3. 导入公钥,一般形式:

    gpg --import <公钥文件名>

示例:gpg --import KEYS--import 表示把公钥导入本机钥匙环。

  1. 从官方源下载对应安装包的 .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[丢弃文件重新获取]

点此查看 Tomcat 使用教程

❗ 七、高频问题排查

问题现象 产生原因 解决方案
官方镜像下载慢、频繁中断 到境外 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/软件开发/芯片开发

个人主页:「一名热衷协作的开发者,在构建中学习,期待与你交流技术、共同成长。」

座右铭:「与其完美地观望,不如踉跄地启程」

相关推荐
3Q工具箱 - BraggTroy2 小时前
Python + PyInstaller 实战:从零打造 10 个 Windows 桌面小工具(附全部踩坑记录与核心代码)
开发语言·windows·python
linnux领域2 小时前
eNSP 交换机与电脑不在一个网段?用一台 Windows 双网卡做路由,把实验环境彻底打通
windows·华为·电脑·ensp·静态路由·网络实验·ensp模拟器
Dream-Y.ocean3 小时前
鸿蒙平台 Apache Tomcat 管理控制台适配实战:基于 Electron 壳方案的真实 HTTP 服务器实现
tomcat·apache·harmonyos
挂科边缘3 小时前
Android Studio 保姆级安装教程,Windows 电脑上安装 Android Studio
android·windows·android studio
betazhou3 小时前
Apache seatunel常用配置参数解析说明
apache·seatunnel
TechExplorer3653 小时前
Win11 必要禁用的服务以释放进程内存
windows
无巧不成书02183 小时前
Tomcat 下载后使用全指南:解压、环境配置、启动验证与常见问题排查
java·tomcat
江湖人称菠萝包4 小时前
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter5-剪贴板
windows·笔记
小此方5 小时前
告别云服务器连接困扰——Windows下利用VirtualBox安装配置Ubuntu虚拟机详细教程
服务器·windows·ubuntu