2019年9月10日、Eclipse Foundationは、Jakarta EE 8、フルプラットフォームとWebプロファイル仕様および関連するTechnology Compatibility Kit (TCK)のリリースを発表しました。これらの仕様は、Java EE 8仕様と完全に互換性がありました。それらには、同じAPIと同じプログラミングモデルを使用するJavadocが含まれていました。決定的な違いは、Eclipse FoundationがJakarta EE仕様プロセスとEclipse開発プロセスの下でJakartaEE仕様を開発したことです。これらは、Java EEのJava Community Process (JCP)のオープンでコミュニティ主導の後継です。
名前空間の観点から見ると、Jakarta EE 8は、まだ「javax.」という名前を使用しています。しかし、2020年12月8日のJakarta EE 9リリースでは、Jakarta EE仕様の「javax」に代わる名前空間として「jakarta.」が導入されます。
この新しい名前空間をすべての実装(MicroProfile実装を含む)、Webサーバー、ミドルウェアツール、ビルドツール、IDE、およびフレームワークで実現するために、エコシステム全体で作業が開始されました。この作業の多くは、2021年5月25日のJakarta EE 9.1のリリースによって順調に進められたか、完了しましたが、まだいくつかのギャップがありました。
この作業は、Jakarta EE 10の今後のリリースで本質的に完了します。JakartaEEの開発者は、各カテゴリーに幅広い選択肢があり、優れた選択肢を提供します。
このブログ記事では(執筆時点 – 2022年9月)、移行の進行状況を概説しています。日々の開発者には、JavaEE to Jakarta EE 10 Recipesという本も役に立つかもしれません。
何か問題が生じていますか?コメント欄でお知らせください!
新しい「jakarta.*」名前空間をサポートする複数のJakarta EE 9およびJakarta EE 10の実装があります。
ベンダー/コミュニティ | 実装/プロジェクト | 移行済み? | jakarta名前空間に対応したバージョン |
---|---|---|---|
Apache Software Foundation | TomEE | はい | 9.0.0-M+ |
Eclipse Foundation | Glassfish | はい | 6.0+ |
富士通 | Enterprise Application Platform | 進行中 | 1.1+ |
Payara | Payara | はい | 6.2021.1.Alpha、プレビュー: 5.2020.5+ |
IBM | OpenLiberty | はい | 21.0.0.12+ |
Red Hat | Wildfly | 進行中 | 標準: NYI、プレビュー: 22+ |
最も人気のあるWebサーバーも現在、新しい「jakarta.*」名前空間をサポートしています。
ベンダー/コミュニティ | 実装/プロジェクト | 移行済み? | jakarta名前空間に対応したバージョン |
---|---|---|---|
Apache Software Foundation | Tomcat | はい | 10.0+ |
Eclipse Foundation | Jetty | はい | 11.0.0+ |
MicroProfileは、Jakarta EE 9および10仕様の一部を使用する関連する仕様とAPIのセットです。いくつかの実装互換があります。
ベンダー/コミュニティ | 実装/プロジェクト | 移行済み? | jakarta名前空間に対応したバージョン |
---|---|---|---|
Apache Software Foundation | TomEE | はい | 9.0.0-M+ |
富士通 | Launcher | はい | 4.0+ |
IBM | OpenLiberty | はい | 22.0.0.1+ |
Oracle | Helidon | はい | 3.0.0 |
Payara | Payara | はい | Payara 6.2022.1.Alpha2 |
PiranhaCloud | Piranha | はい | 20.6.1 |
Red Hat | Quarkus | 一部 | 2.7.1+ |
ミドルウェアツールは広義の用語ですが、Jakarta EE仕様に依存するデータストアとメッセージングライブラリが含まれます。
ベンダー/コミュニティ | 実装/プロジェクト | 移行済み? | jakarta名前空間に対応したバージョン |
---|---|---|---|
Apache Software Foundation | ActiveMQ Artemis | はい | 2.17.0+ |
Oracle | Coherence Community Edition | 処理中 | 22.09 |
主要なIDEは、着実にjakarta.*名前空間の第一級のサポートを追加しています。
ベンダー/コミュニティ | 実装/プロジェクト | 処理中? | メモ |
---|---|---|---|
Apache Software Foundation | Netbeans | 一部 | Javaプロジェクトに追加するサードパーティ製のライブラリとしてJakarta EEをサポートしますが、ネイティブのプラグインや特殊なサポートはしてません |
Eclipse Foundation | Eclipse IDE | 一部 | Javaプロジェクトに追加するサードパーティ製のライブラリとしてJakarta EEをサポートしますが、ネイティブのプラグインや特殊なサポートはしてません |
Jetbrains | IntelliJ | Yes | Jakarta EEプロジェクトを作成するためのネイティブのサポート、実行するためのプラグイン。名前空間スイッチの移行ツール。 |
Microsoft | VS Code | 一部 | Javaプロジェクトに追加するサードパーティ製のライブラリとしてJakarta EEをサポートしますが、ネイティブのプラグインや特殊なサポートはしていません |
Maven、Gradle、およびAntは、特に様々な展開プラグインに関して、新しい名前空間をサポートするためのすべての追加機能を備えています。
ベンダー/コミュニティ | 実装/プロジェクト | 移行済み? | jakarta名前空間に対応したバージョン |
---|---|---|---|
Apache Software Foundation | Ant | 一部 | 1.10.12+ |
Apache Software Foundation | Maven | 一部 | 3.6.5+ |
Gradleware | Gradle | 一部 | 7.4+ |
いくつかの一般的なフレームワークは、Jakarta EEアプリケーションの構築を支援します。
ベンダー/コミュニティ | 実装/プロジェクト | 移行済み? | jakarta名前空間に対応したバージョン |
---|---|---|---|
Eclipse Foundation | Jersey | はい | 3.0.0+ |
Object Computing | Micronaut | 一部 | 3.0.0+ |
Red Hat | Hibernate | はい | 6.0.0-Beta3 |
VMware | Spring | はい | 6.0.0-M1 |
テストは非常に重要であり、コアJUnitおよびTestNGライブラリと並んで人気のあるArquillianフレームワークがあります。
ベンダー/コミュニティ | 実装/プロジェクト | 移行済み? | jakarta名前空間に対応したバージョン |
---|---|---|---|
Red Hat | Arquillian | はい | 1.7.0.Alpha10 |
エコシステムは、「javax.」から「jakarta.」への移行をサポートするために非常にうまく機能しました。日々のJava開発者は、これまで楽しんでいたJava EE仕様、フレームワーク、ツールのモダンな後継が使えることを確信できます。