我在我的java项目中使用checkstyle 2.17。我想忽略所有类的javadoc,只想强制接口的javadoc。有什么办法可以在我的xml配置文件中执行此操作。现在它看起来像这样:
<!-- Javadoc for interface must be present/valid. The same for classes is optional-->
<module name="JavadocType">
<property name="tokens" value="INTERFACE_DEF"/>
</module>
它适用于接口但在没有为类指定javadoc时会出错。
答案 0 :(得分:0)
您的配置正确无误。 Checkstyle甚至有a test,确认如果tokens
设置为INTERFACE_DEF
,则不会报告任何违规行为。
答案 1 :(得分:0)
我还没有对其进行测试,但尝试在您的XML中覆盖acceptableTokens
,而不是tokens
。
这是我们阻止在类构造函数上强制执行javadoc规则的方法。不要忘记从*_checks.xml
文件中引用新的自定义类。
public class JavadocMethodCheck extends com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck {
@Override
public int[] getAcceptableTokens() {
return Arrays.stream(super.getAcceptableTokens())
.filter(t -> t != TokenTypes.CTOR_DEF) // Don't enforce javadoc comments on constructors
.toArray();
}
}