かんがるーさんの日記

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

Spring Boot 2.0.x の Web アプリを 2.1.x へバージョンアップする ( その19 )( dependency-management plugin を 1.0.6 → 1.0.7 へ、Checkstyle を 8.17 → 8.19 へ、PMD を 6.11.0 → 6.13.0 へバージョンアップする )

概要

記事一覧はこちらです。

Spring Boot 2.0.x の Web アプリを 2.1.x へバージョンアップする ( その18 )( Gradle を 5.2.1 → 5.3.1 へ、Spock を 1.2 → 1.3 へ、JUnit 5 を 5.4.0 → 5.4.1 へバージョンアップする ) の続きです。

  • 今回の手順で確認できるのは以下の内容です。
    • dependency-management plugin、Checkstyle、PMD が最新バージョンでなかったのでバージョンアップします。
    • Spotbugs も現在使用している 3.1.11 より新しいバージョンが出ていますが build 時に消せない警告が出るので今回は見送ります。

参照したサイト・書籍

目次

  1. build.gradle を変更する
  2. clean タスク → Rebuild Project → build タスクを実行してみる
  3. 次回は。。。

手順

build.gradle を変更する

build.gradle を以下のように変更します。

plugins {
    ..........
    id "io.spring.dependency-management" version "1.0.7.RELEASE"
    ..........
}

..........

checkstyle {
    configFile = file("${rootProject.projectDir}/config/checkstyle/google_checks.xml")
    toolVersion = "8.19"
    sourceSets = [project.sourceSets.main]
}

..........

pmd {
    toolVersion = "6.13.0"
    sourceSets = [project.sourceSets.main]
    ignoreFailures = true
    consoleOutput = true
    ruleSetFiles = rootProject.files("/config/pmd/pmd-project-rulesets.xml")
    ruleSets = []
}
  • plugins block の io.spring.dependency-management のバージョンを 1.0.6.RELEASE1.0.7.RELEASE に変更します。
  • checkstyle タスク内で toolVersion = "8.17"toolVersion = "8.19" に変更します。
  • pmd タスク内で toolVersion = "6.11.0"toolVersion = "6.13.0" に変更します。

変更後、Gradle Tool Window の左上にある「Refresh all Gradle projects」ボタンをクリックして更新します。

clean タスク → Rebuild Project → build タスクを実行してみる

clean タスク → Rebuild Project → build タスクを実行してみると、BUILD SUCCESSFUL は表示されましたが PMD で警告が1件出ています。

f:id:ksby:20190403212528p:plain

PMD で出た警告は A method or constructor should not explicitly declare unchecked exceptions in its 'throws' clause で、6.13.0 から追加された AvoidUncheckedExceptionsInSignatures という rule でした。

src/main/java/ksbysample/webapp/lending/security/LendingUserDetailsService.java で以下のように実装していたのですが、

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {

UsernameNotFoundException は RuntimeException の継承クラスで記述不要なため、警告が出たようです。throws UsernameNotFoundException を削除します。

再度 clean タスク → Rebuild Project → build タスクを実行すると今度は何も警告は出ませんでした。

f:id:ksby:20190403230021p:plain

次回は。。。

感想を書いてを終わりにする予定です。また Spring Boot 2.1.4 がリリースされそうなので、リリースされたらバージョンアップします。

履歴

2019/04/03
初版発行。