かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は Spring Boot をいじっています。

Spring Boot 2.2.x の Web アプリを 2.3.x へバージョンアップする ( その6 )( PMD を 6.20.0 → 6.26.0 へバージョンアップする )

概要

記事一覧はこちらです。

Spring Boot 2.2.x の Web アプリを 2.3.x へバージョンアップする ( その5 )( Checkstyle を 8.28 → 8.35 へバージョンアップする ) の続きです。

  • 今回の手順で確認できるのは以下の内容です。
    • PMD を 6.20.0 → 6.26.0 へバージョンアップします。

参照したサイト・書籍

目次

  1. build.gradle を変更する
  2. 警告の原因を取り除く
    1. The initializer for variable '...' is never used (overwritten on line ...)

手順

build.gradle を変更する

pmd {
    toolVersion = "6.26.0"
    sourceSets = [project.sourceSets.main]
    ignoreFailures = true
    consoleOutput = true
    ruleSetFiles = rootProject.files("/config/pmd/pmd-project-rulesets.xml")
    ruleSets = []
}
  • toolVersion = "6.20.0"toolVersion = "6.26.0" に変更します。

Gradle Tool Window の左上にある「Refresh all Gradle projects」ボタンをクリックして更新した後、clean タスク実行 → Rebuild Project 実行 → build タスクを実行すると pmdMain タスクで警告が出ました。

f:id:ksby:20200815104254p:plain

警告の原因を取り除く

The initializer for variable '...' is never used (overwritten on line ...)

生成されたレポートファイル build/reports/pmd/main.html をブラウザで開くと2箇所指摘されており、どちらも Problem には The initializer for variable '...' is never used (overwritten on line ...) が表示されていました。

f:id:ksby:20200815104812p:plain

6.26.0 から追加された UnusedAssignment による警告でした。

  • 2箇所は、変数宣言時に = null と初期値をセットしていたが、その後の処理で必ず値がセットされるので警告が出ていたのが原因でした。変数宣言時に初期値をセットしている部分を削除します。
  • 1箇所はデータをロックするために select していた時に取得したデータを使用しないにもかかわらず変数にセットしていたのが原因でした。取得したデータを変数にセットしないように変更します。

変更後に clean タスク実行 → Rebuild Project 実行 → build タスクを実行すると BUILD SUCCESSFUL が表示されました。

f:id:ksby:20200815105845p:plain

履歴

2020/08/15
初版発行。