投稿日: 2023年12月31日
・Spring Boot: 3.2
・Java: 21 (amazon corretto 21)
・Gradle: 8.5
・Checkstyle: 10.12.5
・IntelliJ IDEA: 2023.3.2
※ IntelliJ IDEAはバージョン2023.3よりJava 21がサポートされたため、2023.3以降のバージョンをインストールしてください。
1. メニューバーのIntelliJ IDEAから設定をクリックします。左サイドメニューからビルド、実行、デプロイ > コンパイラー > Java コンパイラーをクリックします。プロジェクトのバイトコードバージョンを21に設定して適用をクリックします。
2. 左サイドメニューからビルド、実行、デプロイ > ビルドツール > Gradleをクリックします。Gradle JVMにインストールしているJavaのバージョン (Java 21)を指定して適用をクリックします。OKをクリックします。
※ 本記事ではamazon corretto 21を利用しています。
3. メニューバーのファイルからプロジェクト構造をクリックします。左サイドメニューからプロジェクト設定 > プロジェクトをクリックします。SDKにインストールしているJavaのバージョン (Java 21)を指定します。言語レベルに「21-レコードパターン、switchのパターンマッチング」を設定して適用をクリックします。OKをクリックします。
1. 以下のURLよりコーディング規約が記載されたxmlをダウンロードして任意の場所に保存します。自作したxmlがあればそちらで代用可能です。
https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
2. プロジェクトのルート配下にconfigディレクトリを新規作成します。configディレクトリの中にcheckstyleディレクトリを新規作成します。checkstyleディレクトリの中に先ほどダウンロードしたxmlファイルを配置します。
<root>
└── src
└── config
└── checkstyle
└── checkstyle.xml
※ 本記事ではダウンロードしたxmlをcheckstyle.xmlにファイル名を変更しています。
3. メニューバーのIntelliJ IDEAから設定をクリックします。左サイドメニューからプラグインをクリックします。CheckStyle-IDEAをインストールします。
4. IntelliJ IDEAを再起動します。メニューバーのIntelliJ IDEAから設定をクリックします。左サイドメニューからツール > Checkstyleをクリックします。Checkstyle versionに10.12.5を設定します。Configuration File欄にある+をクリックします。
5. Descriptionに任意の名前を設定します。ラジオボタンのUse a local Checkstyle fileを選択します。Browseボタンをクリックし、手順2で配置したxml (root/config/checkstyle/checkstyle.xml) を指定します。Nextをクリックします。
6. Nextをクリックします。
7. Finishをクリックします。
8. Configuration File欄に3行目が追加されているので、チェックをつけてOKをクリックします。
1. build.gradleのpluginsに以下を追加して保存します。
plugins {
id 'checkstyle'
}
2. IntelliJ IDEAを再起動します。GradleのTasksのotherにcheckstyleMainとcheckstyleTestが表示されていることを確認します。
※この時点でcheckstyleMainを実行すると以下のエラーが出るので次の手順3を実施します。
Execution failed for task ':checkstyleMain'.
> A failure occurred while executing org.gradle.api.plugins.quality.internal.CheckstyleAction
> An unexpected error occurred configuring and executing Checkstyle.
> Unable to create Root Module: config {/project_dir/config/checkstyle/checkstyle.xml}, classpath {null}.
3. build.gradleに以下を追加して保存します。
checkstyle {
configFile = file("${rootProject.projectDir}/config/checkstyle/checkstyle.xml")
toolVersion = "10.12.5"
sourceSets = [project.sourceSets.main]
}
1. プロジェクトの任意の場所にJavaファイル (Test.java) を作成して以下の内容で保存します。
public class Test {
}
2. GradleのTasks > otherからcheckstyleMainを実行します。以下のようにTest.javaに対する解析が実行されWarnが表示されていることを確認します。
'checkstyleMain' を実行中...
> Task :compileJava
> Task :processResources UP-TO-DATE
> Task :classes
> Task :checkstyleMain
Checkstyle rule violations were found. See the report at: file:///your_project_dir/build/reports/checkstyle/main.html
Checkstyle files with violations: 1
Checkstyle violations by severity: [warning:1]
BUILD SUCCESSFUL in 2s
3 actionable tasks: 2 executed, 1 up-to-date
[ant:checkstyle] [WARN]
/foo/src/main/java/bar/Test.java:1:1: Javadoc コメントがありません。 [MissingJavadocType]
'checkstyleMain' の実行を完了しました。
3. 問題ツールウィンドウにも同様の内容が表示されていることを確認します。
4. Test.javaを以下の内容で修正して、保存します。
/**
* Test class.
*/
public class Test {
}
5. GradleのTasks > otherからcheckstyleMainを実行します。解析結果として、エラーや警告が何も表示されていないことを確認します。
'checkstyleMain' を実行中...
Starting Gradle Daemon...
Gradle Daemon started in 591 ms
> Task :compileJava
> Task :processResources UP-TO-DATE
> Task :classes
> Task :checkstyleMain
BUILD SUCCESSFUL in 5s
3 actionable tasks: 2 executed, 1 up-to-date
'checkstyleMain' の実行を完了しました。
6. 問題ツールウィンドウからも先ほど検出されたWarnの内容が表示されていないことを確認します。
以上で全ての手順は完了になります