有没有办法让 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 项目?
我找不到完全做到这一点的方法,但我是这样做的:
创建了对方法有效的自定义注释@Proxy:
@Target(ElementType.METHOD)
public @interface Proxy {
}
作为另一个方法代理的每个方法都有一个@link 和一个@Proxy 注释:
/**
* Proxy for {@link com.company.Class#someMethod}
*/
@Proxy
public int someMethod(String input) {
...
}
将此注释添加到 checkstyle.xml:
<module name="JavadocMethod">
<property name="allowedAnnotations" value="Override, Proxy"/>
...
</module>
如果您可以使用额外的注释,请阅读 http://checkstyle.sourceforge.net/config.html 章节 "SuppressWarningsFilter"。在该页面查看另一种抑制 checkstyle 违规的方法。
提出新功能甚至是个好主意 - "suppress by message" 不需要任何代码更新
我有一些方法可以添加 links 以进一步 classes。 例如:
/**
* Proxy for {@link com.company.Class#someMethod}
*/
public int someMethod(String input) {
...
}
目前,当我运行 checkstyle 时,它抱怨缺少@param 和@return。但我不想添加这些。 请注意,此 class 并未继承自我想要 link 的那个。 @see
也是如此有没有办法告诉 checkstyle 查找 @link 或 @see 并忽略缺少的 javadoc 项目?
我找不到完全做到这一点的方法,但我是这样做的:
创建了对方法有效的自定义注释@Proxy:
@Target(ElementType.METHOD) public @interface Proxy { }
作为另一个方法代理的每个方法都有一个@link 和一个@Proxy 注释:
/** * Proxy for {@link com.company.Class#someMethod} */ @Proxy public int someMethod(String input) { ... }
将此注释添加到 checkstyle.xml:
<module name="JavadocMethod"> <property name="allowedAnnotations" value="Override, Proxy"/> ... </module>
如果您可以使用额外的注释,请阅读 http://checkstyle.sourceforge.net/config.html 章节 "SuppressWarningsFilter"。在该页面查看另一种抑制 checkstyle 违规的方法。
提出新功能甚至是个好主意 - "suppress by message" 不需要任何代码更新