如何在 checkstyle 配置中添加异常
How to add exceptions in a checkstyle config
我有一个使用 Gradle 构建的 Java 项目,并使用默认 Google checkstyle.xml
的 checkstyle(来自项目网站)。
除其他外,它为 public 方法强制执行 Javadoc。我想为普通代码保留这条规则,但我不想为我的测试编写 javadoc。
如何为该规则添加例外,以便 checkstyle 忽略测试文件?
这可以分两步完成:
通过添加 SuppressionFilter
模块在 checkstyle.xml
中指定抑制文件。更具体地说,在 "Checker" 模块中添加以下代码:
<module name="SuppressionFilter">
<property name="file" value="config/checkstyle/suppressions.xml"/>
<property name="optional" value="false"/>
</module>
其中 "config/checkstyle/suppressions.xml" 是从项目根目录到抑制文件的路径。
创建suppressions.xml
如下:
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"http://checkstyle.sourceforge.net/dtds/suppressions_1_1.dtd">
<suppressions>
<suppress checks="JavadocMethod"
files=".*Test.java"/>
</suppressions>
告诉检查器不要对名称以 *Test.java
.
结尾的文件应用 JavadocMethod
规则
注意:如果抑制文件未找到或无效,您可能会遇到如下错误:
Unable to create Root Module: config {/path/to/config/checkstyle/checkstyle.xml}, classpath {null}.
运行 $ gradle build --stacktrace
的构建被证明对于调试这个非常有用,在我的例子中。
我有一个使用 Gradle 构建的 Java 项目,并使用默认 Google checkstyle.xml
的 checkstyle(来自项目网站)。
除其他外,它为 public 方法强制执行 Javadoc。我想为普通代码保留这条规则,但我不想为我的测试编写 javadoc。
如何为该规则添加例外,以便 checkstyle 忽略测试文件?
这可以分两步完成:
通过添加
SuppressionFilter
模块在checkstyle.xml
中指定抑制文件。更具体地说,在 "Checker" 模块中添加以下代码:<module name="SuppressionFilter"> <property name="file" value="config/checkstyle/suppressions.xml"/> <property name="optional" value="false"/> </module>
其中 "config/checkstyle/suppressions.xml" 是从项目根目录到抑制文件的路径。
创建
suppressions.xml
如下:<?xml version="1.0"?> <!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://checkstyle.sourceforge.net/dtds/suppressions_1_1.dtd"> <suppressions> <suppress checks="JavadocMethod" files=".*Test.java"/> </suppressions>
告诉检查器不要对名称以
*Test.java
. 结尾的文件应用
JavadocMethod
规则
注意:如果抑制文件未找到或无效,您可能会遇到如下错误:
Unable to create Root Module: config {/path/to/config/checkstyle/checkstyle.xml}, classpath {null}.
运行 $ gradle build --stacktrace
的构建被证明对于调试这个非常有用,在我的例子中。