有没有办法让 Checkstyle 忽略包含 @link 或 @see 的 javadoc?

Is there a way to make Checkstyle ignore javadocs containing @link or @see?

我有一些方法可以添加 links 以进一步 classes。 例如:

/**
 * Proxy for {@link com.company.Class#someMethod}
 */
public int someMethod(String input) {
   ...
}

目前,当我运行 checkstyle 时,它​​抱怨缺少@param 和@return。但我不想添加这些。 请注意,此 class 并未继承自我想要 link 的那个。 @see

也是如此

有没有办法告诉 checkstyle 查找 @link 或 @see 并忽略缺少的 javadoc 项目?

我找不到完全做到这一点的方法,但我是这样做的:

  1. 创建了对方法有效的自定义注释@Proxy:

    @Target(ElementType.METHOD)
    public @interface Proxy {
    }
    
  2. 作为另一个方法代理的每个方法都有一个@link 和一个@Proxy 注释:

    /**
     * Proxy for {@link com.company.Class#someMethod}
     */
    @Proxy
    public int someMethod(String input) {
        ...
    } 
    
  3. 将此注释添加到 checkstyle.xml:

    <module name="JavadocMethod">
        <property name="allowedAnnotations" value="Override, Proxy"/>
        ...
    </module>
    

如果您可以使用额外的注释,请阅读 http://checkstyle.sourceforge.net/config.html 章节 "SuppressWarningsFilter"。在该页面查看另一种抑制 checkstyle 违规的方法。

提出新功能甚至是个好主意 - "suppress by message" 不需要任何代码更新