如何禁用构造函数的 checkstyle JavaDoc 验证?

How to disable checkstyle JavaDoc validation for constructors?

如何为构造函数禁用 checkstyle JavaDoc 验证?

我看到 http://checkstyle.sourceforge.net/config_javadoc.html#JavadocMethod 清楚地表明它 "Checks the Javadoc of a method or constructor",但是我需要排除构造函数并只保留方法。

为了忽略构造函数,从 tokens 属性 中删除 CTOR_DEF 标记,例如:

<module name="JavadocMethod">
  <property name="tokens" value="METHOD_DEF,ANNOTATION_FIELD_DEF"/>
</module>

这是通过将 tokens 设置为除 CTOR_DEF 之外的所有其他允许的标记来实现的。不幸的是,要使其工作,您需要知道要设置哪些标记,并且此列表因 Checkstyle 版本而异,并不总是准确反映在 docs 中。上面的这个例子应该提供了一个合理的设置。

忽略 javadocs 具有自定义 class...

的构造函数
<module name="org.example.MyJavadocMethodCheck">
...
</module>

看起来像:

@SuppressWarnings("unused")
public class MyJavadocMethodCheck 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();
    }
}

我确定我在 Whosebug 上找到了这个,但再也找不到确切的 link。