内容

目录

常规

请先阅读常规 迁移指南页面,了解适用于 Apache Tomcat® 版本之间迁移或升级的常见注意事项。

从 10.1.x 迁移到 11.0.x

本部分列出了 10.1.x 和 11.0.x 之间的所有已知更改,这些更改可能会在升级时导致向后兼容性问题。

需要 Java 21

Apache Tomcat 11.0.x 需要 Java 21 或更高版本。Apache Tomcat 10.1.x 需要 Java 11。

SecurityManager 已在 Java 17 及更高版本中弃用,并且在 Jakarta EE 11 规范项目中删除了在 SecurityManager 下运行的支持。因此,在 Tomcat 11.0.x 中删除了配置 SecurityManager 的支持。

规范 API

Apache Tomcat 11.0 支持 Jakarta Servlet 6.1、Jakarta Server Pages 4.0、Jakarta Expression Language 6.0、JakartaWebSocket 2.2 和 Jakarta Authentication 3.1 规范

Servlet 6.1 API

无更改。

服务器页面 4.0

已删除 3.1 API 中标记为已弃用的所有方法和类。

表达式语言 6.0

已删除 5.0 API 中标记为已弃用的所有方法和类。

已删除在 SecurityManager 下运行的支持。

WebSocket 待定

已删除在 SecurityManager 下运行的支持。

身份验证待定

已删除在 SecurityManager 下运行的支持。

内部 API

虽然 Tomcat 11.0 内部 API 与 Tomcat 10.1 广泛兼容,但细节级别发生了许多更改,并且它们在二进制上不兼容。与 Tomcat 内部交互的自定义组件的开发人员应查看相关 API 的 JavaDoc。

特别注意

  • 已删除 10.1.x 中标记为已弃用的所有代码。
  • 如果转换失败,则从字节到字符的转换现在会引发异常。

升级 11.0.x

在将 Apache Tomcat 实例从一个 Tomcat 11.0 版本升级到另一个版本时,尤其是在为 $CATALINA_HOME 和 $CATALINA_BASE 使用单独的位置时,必须确保配置中的任何更改,例如新属性和对默认值的更改,都作为升级的一部分应用。为了帮助识别这些更改,可以使用下面的表单查看 Tomcat 11.0 不同版本中的配置文件之间的差异。

Tomcat 11.0.x 值得注意的更改

Tomcat 开发人员的目标是使每个稳定的修补程序版本与之前的版本完全向后兼容。有时,为了修复错误,有必要打破向后兼容性。在大多数情况下,这些更改将不会被注意到。本节列出了不完全向后兼容且可能在升级时导致中断的更改。

  • 在 11.0.0-M5 及更高版本中,连接器属性 maxParameterCount 的默认值已从 10,000 减少到 1,000。

Tomcat 11.0.x 配置文件差异

从下面的框中选择一个配置文件、旧版本和新版本,然后单击“查看差异”以查看差异。差异将显示在一个新选项卡/窗口中。

注意:如果没有差异,您将看到一个错误页面。

您还可以从工作副本中使用类似于以下内容的 Git 命令

git diff 11.0.0-M1 11.0.0-M3 -- conf/