Skip to main content

Javaxからjakarta名前空間に関するエコシステムの進捗状況

 

はじめに

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サーバー

最も人気のあるWebサーバーも現在、新しい「jakarta.*」名前空間をサポートしています。

ベンダー/コミュニティ 実装/プロジェクト 移行済み? jakarta名前空間に対応したバージョン
Apache Software Foundation Tomcat はい 10.0+
Eclipse Foundation Jetty はい 11.0.0+

MicroProfile実装

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

主要な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仕様、フレームワーク、ツールのモダンな後継が使えることを確信できます。

Back to the top