かんがるーさんの日記

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

Spring Boot 2.4.x の Web アプリを 2.5.x へバージョンアップする ( その12 )( build.gradle から --add-opens=.....=ALL-UNNAMED の記述を削除する )

概要

記事一覧はこちらです。

Spring Boot 2.4.x の Web アプリを 2.5.x へバージョンアップする ( その11 )( Docker で複数の Tomcat を起動して動作確認する ) の続きです。

  • 今回の手順で確認できるのは以下の内容です。
    • build.gradle に不要になった -add-opens=.....=ALL-UNNAMED の記述が残っていたので削除します。

参照したサイト・書籍

目次

  1. build.gradle を変更する

手順

build.gradle を変更する

build.gradle を見直していたところ、以下の記述が残っていることに気づきました。今回のバージョンアップで groovy が 3系になって powermock も依存関係から削除しており、このオプションは不要になっているはずなので削除します。

// JDK 11 に変更後、test タスク実行時に groovy と powermock が JDKの内部部分にアクセスするためにコードでリフレクションを使用
// していて WARNING が出るため、JVM の起動時オプションの --add-opens を指定して WARNING が出ないようにする
def jvmArgsAddOpens = [
        "--add-opens=java.base/java.io=ALL-UNNAMED",
        "--add-opens=java.base/java.lang=ALL-UNNAMED",
        "--add-opens=java.base/java.lang.invoke=ALL-UNNAMED",
        "--add-opens=java.base/java.lang.ref=ALL-UNNAMED",
        "--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
        "--add-opens=java.base/java.net=ALL-UNNAMED",
        "--add-opens=java.base/java.security=ALL-UNNAMED",
        "--add-opens=java.base/java.util=ALL-UNNAMED"
]

build.gradle の以下の点を変更します。

test {
    jvmArgs = jvmArgsForTask +
            ["-Dspring.profiles.active=unittest"]

    // for JUnit 5
    useJUnitPlatform()

    testLogging {
        afterSuite printTestCount
    }
}
  • def jvmArgsAddOpens = [ "--add-opens=java.base/java.io=ALL-UNNAMED", ... ] の記述を削除します。
  • test タスクの jvmArgs の記述から jvmArgsAddOpens + を削除します。

clean タスク実行 → Rebuild Project 実行 → build タスクを実行すると "BUILD SUCCESSFUL" のメッセージが出力されました。

f:id:ksby:20210926094902p:plain

履歴

2021/09/26
初版発行。