更新前の記録

更新後と見比べるために、更新前の状態をファイルに残します。作業の記録の書式と置き場所は、プロジェクトの決まりに従います(ここで作るファイルは、見比べるための作業用のものです)。出力ファイルはプロジェクトのフォルダー(pom.xml または build.gradle のある場所)にできます。これらの出力ファイルはコミットしません。

依存関係を記録する

Maven

mvn dependency:tree "-Dverbose" 2>&1 | ForEach-Object { "$_" } | Out-File -Encoding utf8 dependency-tree-before-all.txt
mvn dependency:tree "-Dverbose" "-Dincludes=<groupId>:*" 2>&1 | ForEach-Object { "$_" } | Out-File -Encoding utf8 dependency-tree-before-target.txt
mvn help:effective-pom 2>&1 | ForEach-Object { "$_" } | Out-File -Encoding utf8 effective-pom-before.txt

Gradle

./gradlew -q --console=plain dependencies --configuration runtimeClasspath 2>&1 | ForEach-Object { "$_" } | Out-File -Encoding utf8 dependency-tree-before-all.txt
./gradlew -q dependencyInsight --dependency "<groupId>:<artifactId>" --configuration runtimeClasspath 2>&1 | ForEach-Object { "$_" } | Out-File -Encoding utf8 dependency-insight-before.txt

<groupId>・<artifactId> は、バージョンページの見出しの座標に置き換えます。

依存定義のどこでバージョンが決まっているかを記録する

  1. pom.xml(または build.gradle・build.gradle.kts・gradle/libs.versions.toml)で、対象の座標を検索する
  2. バージョンがどこで決まっているかを記録する:直接の記述/プロパティ/dependencyManagement/親 POM/BOM/Gradle の constraints・platform・バージョンカタログ
  3. 関連するモジュール(同じ groupId の別の成果物)も記録する
  4. scope(Gradle では configuration)・optional・exclusions を記録する
  5. WEB-INF\lib などに手で置いた JAR が無いかも確かめる

設定値を記録する

対象のライブラリに関係する設定を記録します(web.xml・properties・XML の設定ファイル・Java の設定クラスなど)。バージョンページの「設定を見直す」で挙げられた項目は必ず記録します。

共通手順書の章

  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. 検証環境等への配備