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 で一括置換する
- 「検索」→「ファイル」を開く
- 「含んでいるテキスト」に
import javax.servlet.(対応表の旧の名前空間 +.)を入れる - 「ファイル名のパターン」に
*.java - 「置換」を押し、
import jakarta.servlet.に置き換える - 対応表の行ごとに繰り返す
import 以外(完全修飾名で書いた型、web.xml などの設定ファイル、文字列で書いたクラス名)にも旧の名前が残ることがあります。javax.servlet のように import を付けない形でもう一度検索し、1件ずつ確かめます。
そろえるもの
- 依存定義:API の成果物も Jakarta EE 対応のものにする(Servlet API・JAX-RS API など。バージョンはサーバーが対応する系列に合わせる)
- サーバー:Jakarta EE に対応したサーバーで動かす。javax のサーバーでは動きません
- 同じ名前空間を使うほかのライブラリ:javax の API を使うライブラリが残っていると、実行時に型が合いません。依存ツリーで
javax.の成果物が残っていないか確かめます
確かめる
置き換えたファイルの数を数え、バージョンページの「工数の目安」の C(import の機械置換)に入れます。置き換えのあと、解決されたバージョンの確認のコンパイルをやり直します。
共通手順書の章
- 作業の全体像
- 開発環境と前提
- 作業前の準備
- 更新前の記録
- 利用箇所の調べ方
- 依存定義の更新
- IDE への反映
- 解決されたバージョンの確認
- コンパイルエラーの切り分け
- import の一括置き換え(javax → jakarta)
- 非推奨の警告の扱い
- 概算工数の出し方
- リソースの解放と入力の安全性
- ビルド・テスト・WAR の確認
- 他の JAR に同梱された複製
- 再スキャン
- 変更差分の確認と完了条件
- ロールバックと作業記録
- 検証環境等への配備