Checkstyle Javaルール

CheckstyleのJavaルールについて1つずつまとめます

PackageAnnotation

CheckStyle公式ドキュメント

検証環境

Checkstyleバージョン:10.3.3
Javaバージョン:17


チェック概要

チェック追加バージョン
Checkstyle 5.0

全てのパッケージアノテーションpackage-info.javaファイルにあることをチェックする。
Java8以降では、package-info.javaファイルへのパッケージアノテーションの配置はコンパイラによって強制されるため、このチェックは不要。

設定+チェック実行結果

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="PackageAnnotation"/>
    </module>
</module>

チェック実行例

// OK:MyClass.java
package com.example.annotations.packageannotation;

public class MyClass{}

// OK:package-info.java
@Deprecated
package com.example.annotations.packageannotation;

// NG:MyClass.java パッケージへのアノテーションの付与はpackage-info.javaで行う
@Deprecated
package com.example.annotations.packageannotation;

public class MyClass{}