Apache Tomcat®は、Jakarta EE(旧Java EE)テクノロジーのサブセットをオープンソースソフトウェアとして実装したものです。さまざまなバージョンのApache Tomcatが、さまざまなバージョンの仕様に対応しています。仕様とそれぞれのApache Tomcatバージョンの対応関係は次のとおりです。
現在サポートされているバージョン
Servlet仕様 |
JSP仕様 |
EL仕様 |
WebSocket仕様 |
認証仕様 (JASPIC) |
Apache Tomcatバージョン |
最新のリリースバージョン |
サポートされているJavaバージョン |
6.1 |
4.0 |
6.0 |
2.2 |
3.1 |
11.0.x |
11.0.0-M19 (アルファ版) |
17以降 |
6.0 |
3.1 |
5.0 |
2.1 |
3.0 |
10.1.x |
10.1.23 |
11以降 |
4.0 |
2.3 |
3.0 |
1.1 |
1.1 |
9.0.x |
9.0.89 |
8以降 |
サポートされていないバージョン
これらのバージョンのApache Tomcatはサポート終了に達しており、サポートされているバージョンにアップグレードすることをお勧めします。
Servlet仕様 |
JSP仕様 |
EL仕様 |
WebSocket仕様 |
認証仕様 (JASPIC) |
Apache Tomcatバージョン |
最終1リリースバージョン |
サポートされているJavaバージョン |
サポート終了日 |
5.0 |
3.0 |
4.0 |
2.0 |
2.0 |
10.0.x (置き換えられました) |
10.0.27 (置き換えられました) |
8以降 |
2022-10-31 |
3.1 |
2.3 |
3.0 |
1.1 |
1.1 |
8.5.x (EOL) |
8.5.100 (EOL) |
7以降 |
2024-03-31 |
3.1 |
2.3 |
3.0 |
1.1 |
該当なし |
8.0.x (置き換えられました) |
8.0.53 (置き換えられました) |
7以降 |
2018-06-30 |
3.0 |
2.2 |
2.2 |
1.1 |
該当なし |
7.0.x (アーカイブ済み) |
7.0.109 (アーカイブ済み) |
6以降 (WebSocketの場合は7以降) |
2021-03-31 |
2.5 |
2.1 |
2.1 |
該当なし |
該当なし |
6.0.x (アーカイブ済み) |
6.0.53 (アーカイブ済み) |
5以降 |
2016-12-31 |
2.4 |
2.0 |
該当なし |
該当なし |
該当なし |
5.5.x (アーカイブ済み) |
5.5.36 (アーカイブ済み) |
1.4以降 |
2012-09-31 |
2.3 |
1.2 |
該当なし |
該当なし |
該当なし |
4.1.x (アーカイブ済み) |
4.1.40 (アーカイブ済み) |
1.3以降 |
2009-06-25 |
2.2 |
1.1 |
該当なし |
該当なし |
該当なし |
3.3.x (アーカイブ済み) |
3.3.2 (アーカイブ済み) |
1.1以降 |
2004-03-09 |
* 「最終」バージョンは決して _絶対に_ 最終ではありませんが、これ以降のリリースは非常にまれです。 |
Tomcatの各バージョンは、上記の表の最後の列の要件を満たす、安定したJavaリリースでサポートされています。
Tomcatは、上記の表の最後の列の要件を満たすJava早期アクセスビルドでも動作するはずです。たとえば、Tomcat 8は、最初の安定したJava 8リリースの何ヶ月も前からJava 8で正常に実行されていました。ただし、早期アクセスビルドのユーザーは、次の点に注意する必要があります。
- 初期の早期アクセスビルドに、Tomcatで実行されているWebアプリケーションに問題を引き起こす可能性のあるバグが含まれていることは珍しくありません。
- 新しいJavaバージョンで新しい言語機能が導入された場合、デフォルトのJSPコンパイラはすぐにそれらをサポートしない場合があります。JSPコンパイラをjavacに切り替えると、これらの新しい言語機能をJSPで使用できるようになる可能性があります。
- Java早期アクセスビルドの使用中に問題を発見した場合は、ヘルプを求めてください。Tomcatユーザーメーリングリストが、おそらく最適な出発点です。
リリースについては、以下で詳しく説明し、どのリリースが適切かを判断するのに役立てています。各リリースの詳細については、関連するリリースノートを参照してください。
Apache Tomcat 7.xなどの古いリリースのダウンロードとドキュメントを提供していますが、可能な限りApache Tomcatの最新の安定バージョンを使用することを強くお勧めします。メジャーバージョン間のアップグレードは簡単な作業ではない場合があり、古いバージョンのユーザーにはメーリングリストでまだサポートを提供しています。ただし、コミュニティ主導のサポートアプローチのため、バージョンが古くなればなるほど、関心を持ったりサポートできる人が少なくなります。
リリースに投票する場合、レビュー担当者は、リリースが到達したと考えている安定性レベルを指定します。新しいメジャーバージョンの初期リリースは、通常、数か月かけてアルファ版からベータ版、安定版へと移行します。ただし、安定版レベルは、リリースが実装するJava仕様が確定した場合にのみ使用できます。これは、他のすべての点で安定していると見なされるリリースでも、仕様が確定していない場合はベータ版とラベル付けされる可能性があることを意味します。
ダウンロードページには、常に最新の安定版リリースと、存在する場合はそれよりも新しいアルファ版またはベータ版のリリースが表示されます。アルファ版とベータ版のリリースは、ダウンロードページに常に明確にマークされています。
安定性は主観的な判断であり、使用する予定のバージョンについては、常にリリースノートをよく読んでください。リリースのアーリーアダプターである場合、投票の一環として、その安定性についてのご意見をお聞かせください。投票は開発メーリングリストで行われます。
アルファ版リリースには、仕様で要求されるテストされていない/不足している機能や重大なバグが多数含まれている可能性があり、長期間安定して実行されることは想定されていません。
ベータ版リリースには、テストされていない機能や比較的小さなバグがいくつか含まれている可能性があります。ベータ版リリースは、安定して実行されることは想定されていません。
安定版リリースには、比較的小さなバグが少数含まれている可能性があります。安定版リリースは本番環境での使用を目的としており、長期間安定して実行されることが想定されています。
Apache Tomcat 11.0.x (アルファ版)
Apache Tomcat 11.0.xは、現在の開発の焦点です。Tomcat 10.1.xをベースにしており、**Servlet 6.1**、**JSP 4.0**、**EL 6.0**、**WebSocket 2.2**、**Authentication 3.1**の各仕様(Jakarta EE 11プラットフォームで必要なバージョン)を実装しています。
Apache Tomcat 10.1.x (安定版)
Apache Tomcat 10.1.xは、Tomcat 10.0.xをベースにしており、**Servlet 6.0**、**JSP 3.1**、**EL 5.0**、**WebSocket 2.1**、**Authentication 3.0**の各仕様(Jakarta EE 10プラットフォームで必要なバージョン)を実装しています。
Apache Tomcat 9.x (安定版)
Apache Tomcat 9.xは、Tomcat 8.0.xおよび8.5.xをベースにしており、**Servlet 4.0**、**JSP 2.3**、**EL 3.0**、**WebSocket 1.1**、**JASPIC 1.1**の各仕様(Java EE 8プラットフォームで必要なバージョン)を実装しています。これに加えて、以下の重要な改善が含まれています。
- HTTP/2のサポートを追加(Java 9(Apache Tomcat 9.0.0.M18以降)で実行するか、Tomcat Nativeライブラリをインストールする必要があります)
- JSSEコネクタ(NIOおよびNIO2)でTLSサポートにOpenSSLを使用するためのサポートを追加
- TLS仮想ホスティング(SNI)のサポートを追加
Apache Tomcat 10.0.x (置き換えられました)
Apache Tomcat 10.0.xは、Tomcat 9.0.xをベースにしており、**Servlet 5.0**、**JSP 3.0**、**EL 4.0**、**WebSocket 2.0**、**Authentication 2.0**の各仕様(Jakarta EE 9プラットフォームで必要なバージョン)を実装しています。
Tomcat 10.0のユーザーは、Tomcat 10.0がサポート終了に達したことに注意してください。Tomcat 10.0.xのユーザーは、Tomcat 10.1.x以降にアップグレードする必要があります。
Apache Tomcat 8.x (EOL)
Apache Tomcat 8.0.xは、Tomcat 7.0.xをベースにしており、**Servlet 3.1**、**JSP 2.3**、**EL 3.0**、**WebSocket 1.1**の各仕様を実装しています。これに加えて、以下の重要な改善が含まれています。
- 以前のバージョンで提供されていた複数のリソース拡張機能を置き換える、単一の共通リソース実装。
Apache Tomcat 8.5.xは、Apache Tomcat 8.0.xと同じServlet、JSP、EL、WebSocketの仕様バージョンをサポートしています。これに加えて、**JASPIC 1.1**仕様も実装しています。
これは、2016年3月にTomcat 9.0.0.M4(アルファ版)マイルストーンリリースからフォークとして作成されました。Tomcat 8.0ランタイムおよび仕様要件と互換性がありながら、HTTP/2サポートとTomcat 9.xコードベースのその他の機能を提供します。(Tomcat 9の対象となるJava EE仕様は数年後に確定したため、当時Tomcat 9の安定版リリースを作成できませんでした)。
Tomcat 8.5は、Tomcat 8.0の置き換えと考えられています。Tomcat 8.5への移行のガイダンスについては、移行ガイドを参照してください。
Apache Tomcat 8.5.xには、以下の重要な改善が含まれています。
- HTTP/2のサポートを追加(Tomcat Nativeライブラリが必要です)
- JSSEコネクタ(NIOおよびNIO2)でTLSサポートにOpenSSLを使用するためのサポートを追加
- TLS仮想ホスティング(SNI)のサポートを追加
Apache Tomcat 8.5.xでは、以下のテクノロジーが削除されました。
- HTTPおよびAJPコネクタのBIO実装
- Comet APIのサポート
内部の多くの領域に大きな変更があり、パフォーマンス、安定性、総所有コストが向上しています。詳細については、Apache Tomcat 8.5の変更ログを参照してください。
Tomcat 8.0のユーザーは、Tomcat 8.0がサポート終了に達したことに注意してください。Tomcat 8.0.xのユーザーは、Tomcat 8.5.x以降にアップグレードする必要があります。
Tomcat 8.5のユーザーは、Tomcat 8.5がサポート終了に達したことに注意してください。Tomcat 8.5.xのユーザーは、Tomcat 9.0.x以降にアップグレードする必要があります。
Apache Tomcat 7.x (アーカイブ済み)
**Apache Tomcat 7.x**は、Tomcat 6.0.xの改善に基づいて構築されており、**Servlet 3.0**、**JSP 2.2**、**EL 2.2**、**WebSocket 1.1**の各仕様を実装しています。これに加えて、以下の改善が含まれています。
- Webアプリケーションのメモリリークの検出と防止
- マネージャーおよびホストマネージャーアプリケーションのセキュリティの向上
- 汎用CSRF保護
- Webアプリケーションに外部コンテンツを直接含めるためのサポート
- リファクタリング(コネクタ、ライフサイクル)と多くの内部コードのクリーンアップ
Tomcat 7のユーザーは、Tomcat 7がサポート終了に達したことに注意してください。Tomcat 7.xのユーザーは、Tomcat 8.5.x以降にアップグレードする必要があります。
Apache Tomcat 6.x (アーカイブ済み)
**Apache Tomcat 6.x**は、Tomcat 5.5.xの改善に基づいて構築されており、**Servlet 2.5**および**JSP 2.1**の仕様を実装しています。これに加えて、以下の改善が含まれています。
- メモリ使用量の最適化
- 高度なIO機能
- リファクタリングされたクラスタリング
Tomcat 6のユーザーは、Tomcat 6がサポート終了に達したことに注意してください。Tomcat 6.xのユーザーは、Tomcat 7.x以降にアップグレードする必要があります。
Apache Tomcat 5.x (アーカイブ済み)
**Apache Tomcat 5.x**は、アーカイブからダウンロードできます。
**Apache Tomcat 5.5.x**は、Apache Tomcat 5.0.xと同じServletおよびJSPの仕様バージョンをサポートしています。内部の多くの領域に大きな変更があり、パフォーマンス、安定性、総所有コストが向上しています。詳細については、Apache Tomcat 5.5の変更ログを参照してください。
**Apache Tomcat 5.0.x**は、Apache Tomcat 4.1を多くの点で改善しており、以下が含まれます。
- パフォーマンスの最適化とガベージコレクションの削減
- アプリケーションデプロイヤーのリファクタリングを行いました。オプションのスタンドアロンデプロイヤーにより、本番環境に配置する前にWebアプリケーションの検証とコンパイルが可能になります。
- JMXとマネージャーWebアプリケーションを使用した、完全なサーバー監視。
- スケーラビリティと信頼性の向上。
- 高度なプーリングとタグプラグインを含む、Taglibsハンドリングの改善。
- ネイティブのWindowsおよびUnixラッパーによる、プラットフォーム統合の改善。
- JMXを使用した埋め込み。
- セキュリティマネージャーのサポート強化。
- 統合セッションクラスタリング。
- ドキュメントの拡張。
Tomcat 5をご利用のユーザー様は、Tomcat 5がサポート終了に達したことにご注意ください。Tomcat 5.xをご利用のお客様は、Tomcat 7.x以降にアップグレードしてください。
Apache Tomcat 4.x (アーカイブ)
Apache Tomcat 4.xはアーカイブからダウンロードできます。
Apache Tomcat 4.xは、完全に新しいアーキテクチャに基づく新しいサーブレットコンテナ(Catalina)を実装しています。4.xリリースは、Servlet 2.3およびJSP 1.2仕様を実装しています。
Apache Tomcat 4.1.xは、Apache Tomcat 4.0.xのリファクタリングであり、以下を含む重要な機能強化が含まれています。
- JMXベースの管理機能
- JSPおよびStrutsベースの管理Webアプリケーション
- 新しいCoyoteコネクタ(HTTP/1.1、AJP 1.3、およびJNIサポート)
- 書き直されたJasper JSPページコンパイラ
- パフォーマンスとメモリ効率の向上
- 開発ツールとの統合のためのマネージャーアプリケーションのサポート強化
- build.xmlスクリプトから直接マネージャーアプリケーションと対話するためのカスタムAntタスク
Apache Tomcat 4.0.x。 Apache Tomcat 4.0.6は、以前のプロダクション品質リリースです。4.0サーブレットコンテナ(Catalina)は、柔軟性とパフォーマンスのためにゼロから開発されました。バージョン4.0は、Servlet 2.3およびJSP 1.2仕様の最終リリースバージョンを実装しています。仕様で要求されているように、Apache Tomcat 4.0は、Servlet 2.2およびJSP 1.1仕様用に構築されたWebアプリケーションも変更なしでサポートします。
Tomcat 4をご利用のユーザー様は、Tomcat 4がサポート終了に達したことにご注意ください。Tomcat 4.xをご利用のお客様は、Tomcat 7.x以降にアップグレードしてください。
Apache Tomcat 3.x (アーカイブ)
Apache Tomcat 3.xはアーカイブからダウンロードできます。
- バージョン3.3は、Servlet 2.2およびJSP 1.1仕様の現在のプロダクション品質リリースです。Apache Tomcat 3.3は、Apache Tomcat 3.xアーキテクチャの最新の継続バージョンです。「古い」プロダクション品質リリースである3.2.4よりも高度です。
- バージョン3.2.4は、「古い」プロダクション品質リリースであり、現在はメンテナンスモードのみです。
- バージョン3.1.1はレガシーリリースです。
すべてのApache Tomcat 3.xリリースは、SunがApache Software Foundationに寄贈した元のServletおよびJSP実装を継承しています。3.xバージョンはすべて、Servlet 2.2およびJSP 1.1仕様を実装しています。
Apache Tomcat 3.3.x。バージョン3.3.2は、現在のプロダクション品質リリースです。バージョン3.2で開始されたリファクタリングを継続し、論理的な結論に導きます。バージョン3.3は、はるかにモジュール化された設計を提供し、サーブレットリクエストの処理を制御するモジュールを追加および削除することにより、サーブレットコンテナをカスタマイズできます。このバージョンには、多くのパフォーマンスの改善も含まれています。
Apache Tomcat 3.2.x。バージョン3.2は、3.1以降、いくつかの新機能を追加しました。主な取り組みは、パフォーマンスと安定性を向上させるための内部のリファクタリングでした。3.1.1と同様に、3.2.1リリースはセキュリティパッチでした。バージョン3.2.2では、多数のバグと既知の仕様準拠の問題がすべて修正されました。バージョン3.2.3は、深刻なセキュリティホールを閉じるセキュリティアップデートでした。バージョン3.2.4はマイナーなバグ修正リリースです。Apache Tomcatバージョン3.2.3より前のすべてのユーザーは、できるだけ早くアップグレードする必要があります。重大なセキュリティ関連のバグの修正を除いて、Apache Tomcat 3.2.xブランチの開発は停止しています。
Apache Tomcat 3.1.x。3.1リリースには、サーブレットのリロード、WARファイルのサポート、IISおよびNetscape Webサーバーのコネクタの追加など、Apache Tomcat 3.0に対するいくつかの改善が含まれていました。最新のメンテナンスリリース3.1.1には、セキュリティ問題の修正が含まれていました。Apache Tomcat 3.1.xの活発な開発は行われていません。Apache Tomcat 3.1のユーザーは、セキュリティホールを閉じるために3.1.1にアップデートする必要があり、現在のプロダクションリリースであるApache Tomcat 3.3に移行することを強くお勧めします。
Apache Tomcat 3.0.x。最初のApache Tomcatリリース。
Tomcat 3をご利用のユーザー様は、Tomcat 3がサポート終了に達したことにご注意ください。Tomcat 3.xをご利用のお客様は、Tomcat 7.x以降にアップグレードしてください。