平素はスッキリわかるシリーズをご愛顧いただき誠にありがとうございます。
「スッキリわかるサーブレット&JSP」の著者の国本です。
2024年4月3日発売の「スッキリわかるサーブレット&JSP 第4版」は、最新のJakarta EEに対応いたしました。それに伴い、使用するEclipseを2023バージョンの最新版である「2023-12」に変更しております。しかし、Eclipse 2023-12を使用したJakarta EEに対応したサーブレット/JSPの開発には、懸念点があることが知られています。
Eclipseは、バージョン2023-09から動的WebプロジェクトのサーバーのデフォルトがApache Tomcat 10.1.xに変更され、Jakarta EEでの開発を標準で行えるようになってはいますが、Eclipse内部で使用しているWTPプラグインがJakarta EEに対応しきれておらず、従来通りの手順で開発を行うとエラーや警告が発生したり、意図しないファイルが作成したりする不具合が報告されています。
不具合の例
- 動的Webプロジェクトにweb.xmlを作成しない設定にしていても、サーブレット、フィルター、リスナーを作成するとweb.xmlが自動作成される
- 作成したサーブレットにWebServletアノテーションが追加されないのにも関わらず、WebServletアノテーションに関するimport文が自動で記述されるため警告が表示される
- フィルターを作成すると、Jakarata EEではなくJava EEに対応したクラスをインポートするためエラーとなる
これらの不具合は開発の手順を工夫すれば回避できますが、手順が複雑で初学者には難しい側面があります。そこで、「スッキリわかるシリーズ」を監修している株式会社フレアリンクがプラグインの修正版を作成いたしました。
このプラグインの修正版は2つのJARファイルで構成されています。このJARファイルは、公式のWTPプラグインのリポジトリを分岐(フォーク)し、ソースコードを修正してアーカイブし直したものです。この2つのJARファイルをEclipse内部のWTPプラグインのJARファイルと差し替えることで上記の不具合を解消し、Eclipse2023でのJakarta EEを使用した開発をスムーズに行うことができるようになります。
具体的な手順は、次の記事を参照してください
本来であれば、公式のWTPプロジェクトに修正を取り込んでいただくのが理想ですが、3-7月の研修シーズンにEclipseが大きく変化すると現場が混乱するため、今年の研修シーズン終了後、開発元等の然るべきところに寄贈し取り込んでいただくことを考えています。
修正プラグインの詳細やソースコードの変更箇所は、次のリポジトリで確認することができます。
webtools.javaee.sukkiri
今後もスッキリわかるシリーズをよろしくお願いいたします。