我试图配置checkstyle规则,它将验证类、接口和枚举,以强制要求使用下面的配置的javadocs,但它们被反映出来,即尽管我没有提供任何类级的java docs,但检查样式仍然被通过,而不是给出缺少java docs的错误。
<module name="JavadocStyle">
<property name = "checkEmptyJavadoc" value="true"/>
<property name ="checkFirstSentence" value="false"/>
<property name="tokens" value="CLASS_DEF, ENUM_DEF, INTERFACE_DEF, METHOD_DEF"/>
但它们都被反映出来了,也就是说,即使我没有提供任何类级的java docs,检查样式仍然被通过,而不是给出一个关于缺少java docs的错误。
任何帮助将是感激的。
这将验证类、接口和枚举来强制执行javadocs。
首先,我建议你不要使用 JavadocStyle
而使用 MissingJavadocType
因为这是本检查的唯一目的。有可能在未来的更新中 JavadocStyle
不会再这样做了,因为它是重复的。MissingJavadocType
的。对于方法使用 MissingJavadocMethod
.
无论使用哪种检查,你都必须指定正确的 scope
你想让它取课。如果它不正确,它将不会在所有情况下触发。
例如,由于不同的作用域,在枚举上有违规,但在类上没有违规。
$ cat TestClass.java
public enum TestEnum {}
private class TestClass {}
$ cat TestConfig.xml
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
<property name="charset" value="UTF-8"/>
<module name="TreeWalker">
<module name="MissingJavadocType">
<property name="scope" value="public"/>
<property name="tokens" value="CLASS_DEF, ENUM_DEF, INTERFACE_DEF"/>
</module>
</module>
</module>
$ java -jar checkstyle-8.32-all.jar -c TestConfig.xml TestClass.java
Starting audit...
[ERROR] TestClass.java:1: Missing a Javadoc comment. [MissingJavadocType]
Audit done.
Checkstyle ends with 1 errors.