最近は、ウェブアプリの類は、意識して JakartaEE のお作法で書くようにしている。
といっても JavaEE の頃と大した違いがあるわけではない。
アイキャッチにあるように、これまで
javax.***
としていたところを
Jakarta.***
としているだけ。
これは、JakartaEE 9.1 では JavaEE の名前空間を変えただけ程度の変更に留まっているから。
だから、既存の JavaEE プロジェクトでも IDE などを使って javax → jakarta と「置換」すれば、ほぼ移行作業は完了する。
「ほぼ」と書いたのは、もちろん例外もあるから。
ここでハマったという人が多いようだが、
javax.sql.Datasource
は、このままでいい。
このパッケージは EE の仕様ではなくて SE の仕様なので、Jakarta に変更する必要はないから。
言われてみれば当たり前なのだが、脳死状態で移行していると気が付きにくいですね。
私も、小一時間ハマりましたw
JakartaEE 10 では、新機能も追加されるだろうから、今くらいの時期(ちなみにこれ書いているのは 2022/11)から移行しておいた方がいいでしょう。
JavaEE → JakartaEE 10 の移行は、一気にステージが二段階上がるようなものだから、まずはここで手がかりを作っておくのが吉、という読みです。
(参考)JakartaEE の XML ファイルのスキーマは、ここ参照。
9.1 → 10 で変化するところはけっこうある。
例えば web-app は 5.0 → 6.0 。
(追記)理屈の上では、現在(2022/12)使うべきは JakartaEE 10 なのだろうが、いくつかのアプリケーションサーバを試してみたが、hibernate 経由で clob を扱う際に不具合が出やすいという印象がある。
ちょっと慣れておく、アタリをつける程度の使用にとどめておいた方がいいかもしれない。