我无法关闭CheckStyle错误
SummaryJavadoc: First sentence of Javadoc is missing an ending period.
据this thread说,修复是
<module name="JavadocStyle">
<property name="checkFirstSentence" value="false"/>
</module>
但是在我把它放入之后没有任何效果,我仍然得到了错误。
根据消息,错误在SummaryJavadoc而不是JavadocStyle。所以我尝试将该属性放在SummaryJavadoc
中:
<module name="SummaryJavadoc">
<property name="checkFirstSentence" value="false"/>
<property name="forbiddenSummaryFragments"
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
</module>
但这完全破坏了CheckStyle,所以我也不能把它放在那里。
将checkFirstSentence
设为false
会删除First sentence of Javadoc is missing an ending period
对JavadocStyle
的违规行为。要从First sentence of Javadoc is missing an ending period
中移除SummaryJavadoc
,请将period
设置为空。
$ cat TestClass.java
public class TestClass {
/** Example */
void method() {
}
}
$ 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="JavadocStyle">
<property name="checkFirstSentence" value="false"/>
</module>
<module name="SummaryJavadoc">
<property name="period" value=""/>
</module>
</module>
</module>
$ java -jar checkstyle-8.20-all.jar -c TestConfig.xml TestClass.java
Starting audit...
Audit done.
我解决了它 - 正如链接线程所暗示的那样,有一个步骤2:完全删除SummaryJavadoc
部分。这是解决方案的一部分。我认为答案的一部分是无关的,只是一种偏好。
因此,有两个步骤来摆脱Checkstyle中的First sentence of Javadoc is missing an ending period
错误:
步骤1
加
<module name="JavadocStyle">
<property name="checkFirstSentence" value="false"/>
</module>
第2步
删除或注释掉整个SummaryJavadoc
部分:
<!--
<module name="SummaryJavadoc">
<property name="forbiddenSummaryFragments"
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
</module>
-->