コンテンツ
目次
一般
最初に、Apache Tomcat® のバージョン間の移行またはアップグレードに共通する考慮事項については、一般的な移行ガイドページをお読みください。
10.1.x から 11.0.x への移行
このセクションでは、10.1.x から 11.0.x へのアップグレード時に下位互換性の問題を引き起こす可能性のある既知の変更をすべてリストします。
Java 17 が必須
Apache Tomcat 11.0.x には Java 17 以降が必要です。 Apache Tomcat 10.1.x には Java 11 が必要でした。
SecurityManager
は Java 17 以降で非推奨になり、SecurityManager
での実行のサポートは Jakarta EE 11 仕様プロジェクトで削除されました。したがって、SecurityManager
の構成のサポートは Tomcat 11.0.x で削除されました。
仕様 API
Apache Tomcat 11.0 は、Jakarta Servlet 6.1、Jakarta Pages 4.0、Jakarta Expression Language 6.0、JakartaWebSocket 2.2、Jakarta Authentication 3.1、および Jakarta Annotations 3.0 の仕様をサポートしています。
Servlet 6.1 API
null
または空の文字列を使用して HTTP ヘッダーを追加および設定する場合の予期される動作が明確になりました。
ServletOutputStream.isReady()
の Javadoc のコンテキストにおける「書き込み操作」の意味が明確になりました。
ServletRequest.getParameter()
およびその他のパラメータメソッドは、呼び出しがパラメータの解析をトリガーし、その解析中にエラーが発生した場合、ランタイム例外をスローすることがドキュメントに記載されるようになりました。
HTTP/2 サーバープッシュのサポートはオプションになり、Tomcat から削除されました。
値を持たない Cookie 属性 (HttpOnly
、Secure
、Partitioned
など) を使用した Cookie.setAttribute(String,String)
および Cookie.getAttribute(String)
の動作を明確にします。
Pages 4.0
3.1 API で非推奨とマークされたすべてのメソッドとクラスが削除されました。
Expression Language 6.0
5.0 API で非推奨とマークされたすべてのメソッドとクラスが削除されました。
SecurityManager
での実行のサポートが削除されました。
WebSocket 2.2
SecurityManager
での実行のサポートが削除されました。
Authentication 3.1
SecurityManager
での実行のサポートが削除されました。
Annotations 3.0
なし。
内部 API
Tomcat 11.0 の内部 API は Tomcat 10.1 とほぼ互換性がありますが、詳細レベルでは多くの変更があり、バイナリ互換性はありません。Tomcat の内部機能とやり取りするカスタムコンポーネントの開発者は、関連する API の JavaDoc を確認する必要があります。
特に注意すべき点は、
- 10.1.x で非推奨とマークされたすべてのコードが削除されました。
- バイトから文字への変換が失敗した場合、例外がスローされるようになりました。
- Tomcat のカスタム WAR URL ハンドラーで、^ 文字を使用して WAR ファイルと WAR コンテンツを分離するサポートが削除されました。現在のデフォルトの区切り文字である * は変更されていません。
- Cookie の解析と処理は、RFC 6265 の要件に従い、引用符で囲まれた Cookie 値の引用符を値の一部として扱うようになりました。
11.0.x のアップグレード
Apache Tomcat のインスタンスを Tomcat 11.0 のあるバージョンから別のバージョンにアップグレードする場合、特に $CATALINA_HOME と $CATALINA_BASE に個別の場所を使用する場合は、新しい属性やデフォルトの変更など、構成ファイルの変更がアップグレードの一部として適用されることを確認する必要があります。これらの変更の識別を支援するために、以下のフォームを使用して、異なるバージョンの Tomcat 11.0 の構成ファイル間の違いを表示できます。
Tomcat 11.0.x の注目すべき変更点
Tomcat の開発者は、各安定したパッチリリースが前のリリースと完全に下位互換性を持つことを目指しています。バグを修正するために、下位互換性を破棄する必要がある場合があります。ほとんどの場合、これらの変更は気付かれません。このセクションでは、完全な下位互換性を持たず、アップグレード時に破損を引き起こす可能性がある変更をリストします。
- 11.0.0-M5 以降では、Connector 属性
maxParameterCount
のデフォルト値が 10,000 から 1,000 に減らされました。
Tomcat 11.0.x の構成ファイルの違い
以下のボックスから構成ファイル、古いバージョン、および新しいバージョンを選択し、[違いを表示] をクリックして違いを表示します。違いは新しいタブ/ウィンドウに表示されます。
注: 違いがない場合は、エラーページが表示されます。
作業コピー内から、次のような Git コマンドを使用することもできます。
git diff 11.0.0-M1 11.0.0-M3 -- conf/