Red Hat のソリューションアーキテクトの瀬戸です。
これはJakarta EE / Java EE Advent Calendar 2025の8日目の記事です。
トップに前後記事へのリンクを張るのが面倒くさくなってきたので、今回から端折ります。
QuarkusはMicroPrifleを基にしたアプリケーションフレームワークです。 MicroProfileは旧Java EEのAPIを使いながらJava Alternativeとして生まれた仕様で、マイクロサービスアーキテクチャ向けにエンタープライズ Java を最適化することを目的としています。
Java EEがOracle社からEclipse Foundationsに移管され、Jakarta EEとなってからはJakarta EEとMicroProfileの融和が図られています。Jakarta EE 10ではCoreProfileが定義され、Jakarta EEとMicroProfileは密接に結合しています。

実は、QuarkusはQuarkus 3.Xの時点だとおおよそMicroProfile 6.0~7.0に対応していますが、完全に準拠しているわけではなく、MicroProfile の互換製品の一覧には載っていません。*1*2ただ、実務上は問題がない程度で、多くの人はMicroProfileに準拠した製品だという認識を持っていると思います。
その中で、MicroProfileに含まれていないJakarta EEの仕様(機能)はどうなってるの?(使えるの?)という質問を受けました。 (ここまで前説が長かった!)
QuarkusではMicroProfileに含まれていないがJakarta EEに含まれている仕様でもサポートされている場合があります
と、いうのが回答となります。
オフィシャル(コミュニティ版の記述ですが)では3.20時点ではJakarta EEの次の仕様が実装されています。
- Jakarta Core 10
- Jakarta Contexts and Dependency Injection 4.1 (Lite)
- Jakarta Bean Validation 3.0
- Jakarta Persistence 3.1
- Jakarta Transactions 2.0
- Jakarta RESTful Web Services 3.1
- Jakarta JSON Processing 2.1
- Jakarta JSON Binding 2.1
- Jakarta Batch 2.1
ただ、完全に仕様に準拠しているのか?といわれると微妙なところで、例えばJakarta Persistenceではpersistence.xml の使用時に制限があります。
ただ、多くの実装はJBoss EAP/Wildflyと同じライブラリが使用されているため、いくつか制限はあるもののJakarta EEサーバー(JBoss EAP/Wildfly)と同じように使えるはずです。
また、仕様を実装するとは書いてないものの、使用できる機能もあります。 例えば、Servletなども使用できます。
なお、Red Hatではサポートしていませんが、JSFも使用する事ができます。
公式のサポートがある、無いにかかわらず、Quarkusに登録されているエクステンションはスターターのページで検索することができます。 MicroProfileに含まれてないから自前でOSSのjarを入れようという前にエクステンションが提供されているかを確認するとよいでしょう。
ということで、QuarkusではMicroProfileに含まれていない機能についても使用ができるよという話でした。 Red HatではMicroProfileに含まれていない機能でもサポートしている場合があります。 詳細については次のページをご確認ください。
また、Jakarta EEをお使いのお客様はJakarta EEが標準仕様で他ベンダーとの互換性を期待されていることも多いと思いますが、当然ながらMicroProfile外の機能はJakarta EE標準機能であっても他ベンダーのMicroProfile実装では使用できない可能性がある点については注意が必要です。この記事についてはMicroProfile準拠の場合の一般的な話ではなく、現状のQuarkusについて説明した記事であることをご留意ください。
12/9: 文章の表現を直しました。