import の一括置き換え(javax → jakarta)

バージョンページの「import を機械的に置き換える」が「該当」のときに行います。バージョンページの手順4に、置き換える名前空間の対応表(旧 → 新)があります。

置き換えてよいもの・いけないもの

置き換えるのは、Jakarta EE 9 で名前が変わった名前空間だけです(例:javax.servlet → jakarta.servlet、javax.ws.rs → jakarta.ws.rs)。

JDK に残っている javax.* は置き換えません。 例:javax.net・javax.crypto・javax.sql・javax.naming・javax.xml.parsers・javax.xml.transform・javax.annotation.processing・javax.transaction.xa。これらを置き換えるとコンパイルできなくなります。

迷ったら、バージョンページの対応表にある名前空間だけを置き換えてください。

Eclipse で一括置換する

  1. 「検索」→「ファイル」を開く
  2. 「含んでいるテキスト」に import javax.servlet.(対応表の旧の名前空間 + .)を入れる
  3. 「ファイル名のパターン」に *.java
  4. 「置換」を押し、import jakarta.servlet. に置き換える
  5. 対応表の行ごとに繰り返す

import 以外(完全修飾名で書いた型、web.xml などの設定ファイル、文字列で書いたクラス名)にも旧の名前が残ることがあります。javax.servlet のように import を付けない形でもう一度検索し、1件ずつ確かめます。

そろえるもの

  • 依存定義:API の成果物も Jakarta EE 対応のものにする(Servlet API・JAX-RS API など。バージョンはサーバーが対応する系列に合わせる)
  • サーバー:Jakarta EE に対応したサーバーで動かす。javax のサーバーでは動きません
  • 同じ名前空間を使うほかのライブラリ:javax の API を使うライブラリが残っていると、実行時に型が合いません。依存ツリーで javax. の成果物が残っていないか確かめます

確かめる

置き換えたファイルの数を数え、バージョンページの「工数の目安」の C(import の機械置換)に入れます。置き換えのあと、解決されたバージョンの確認のコンパイルをやり直します。

共通手順書の章

  1. 作業の全体像
  2. 開発環境と前提
  3. 作業前の準備
  4. 更新前の記録
  5. 利用箇所の調べ方
  6. 依存定義の更新
  7. IDE への反映
  8. 解決されたバージョンの確認
  9. コンパイルエラーの切り分け
  10. import の一括置き換え(javax → jakarta)
  11. 非推奨の警告の扱い
  12. 概算工数の出し方
  13. リソースの解放と入力の安全性
  14. ビルド・テスト・WAR の確認
  15. 他の JAR に同梱された複製
  16. 再スキャン
  17. 変更差分の確認と完了条件
  18. ロールバックと作業記録
  19. 検証環境等への配備