Jakarta EEに対応した開発をEclipseで行うには、Jakarta EEを実装しているアプリケーションサーバーを動的Webプロジェクトで使用する必要があります。Eclipse 2022-12から、Jakarta EEを実装した Apatch Tomcat 10が追加されたため、追加のサーバーをインストールをすることなくJakarta EE対応の開発を行うことが可能です。以下では、Apatch Tomcat10を使用する動的Webプロジェクトの作成方法を解説します。
step
1動的Webプロジェクトの作成
「ファイル」メニュー→「新規」→「動的Webプロジェクト」を選択します。
「プロジェクト名」を半角英数で入力し、「ターゲット・ランタイム」に「Tomcat10 (Java17)」を選択し、「完了」をクリックします。
step
2サーブレットクラスの作成
サーブレットクラスを作成します。インポートしているサーブレット関連のクラスのパッケージ名が「javax.servlet.・・・」ではなく、「jakarta.servlet. ・・・」になっていることを確認してください。
Jakarta EEのパッケージ名
Jakarta EE 9で、パッケージ名が「javax.○○」から「jakarta.○○」に変更されました。
URLパターンの設定
2022年2月の最新版(Eclipse 2022-12)では、ターゲットランタイムに「Tomcat10」を指定すると(※)、作成したサーブレットクラスのURLパターンの設定が、@WebServletアノテーションではなくweb.xmlに記述されます。web.xmlでのURLパターンの設定はサーブレットが誕生した時から存在する方法で、そのままでも開発は可能ですが、@WebServletアノテーションの方がシンプルで修正もしやすいため、以下の手順でURLパターンの設定を変更することお勧めします。
- src/main/webapp/WEB-INF/web.xmlを削除する
web.xmlを右クリック → 削除を選択します。
もしくは、web.xml内のサーブレットの関する設定(servletタグとservlet-mappingタグ)を削除でも構いません。 - 作成したサーブレットに@WebServletアノテーションを追加する
※ 正確にいうと、ターゲットランタイムに「Tomcat10」を選択することで、使用される動的Webモジュールのバージョンが5になるのが原因です。「Tomcat9」で使用されていたバージョン4では、@WebServletアノテーションでの設定がデフォルトとなっていたため、今後のアップデートで戻る可能性があります。