如何解决一行@link JavaDoc与行长之间的Checkstyle冲突?

时间:2020-03-06 12:56:33

标签: hyperlink javadoc checkstyle maven-checkstyle-plugin

考虑以下JavaDoc:

  /**
   * Test method for
   * {@link MySelectionStyleConfiguration#configureSelectionStyle(org.eclipse.nebula.widgets.nattable.config.IConfigRegistry)}.
   * 
   */

每当我保存此注释所属的JUnit5测试类时,{@link }的格式都将重新格式化为一行,这是正确的,否则,如果我尝试引入一个Maven Checkstyle插件,将会抛出错误。链接(javadoc) SingleLineJavadoc: Javadoc comment at column 78 has parse error. Details: mismatched input '\n' expecting MEMBER while parsing REFERENCE中的换行符。 (此外,我认为该链接在由此呈现的API文档中无法正确解析。)

但是,如果我将长链接行保留为(sizes) LineLength: Line is longer than 100 characters (found 125).,则Maven Checkstyle插件也会 抛出错误。

有没有办法解决这个问题?

要求:

  • 应该保留100个字符的行规则,但是应免除JavaDoc中的长{@link }标签(在测试类中最明显,但也许也在其他地方)。
  • 该链接仍应在呈现的JavaDoc中解析(即,该链接应保持有效)。

编辑

我可以从链接中省略软件包名称,但是我想将它们保留在其中,以便它们仅解析为一件事,而不可能解析为同名事物。

1 个答案:

答案 0 :(得分:0)

可以使用LineLength检查https://checkstyle.sourceforge.io/config_sizes.html#LineLength的“ ignorePattern”属性来完成

在您的情况下,类似

<module name="LineLength">
  <property name="max" value="100"/>
  <property name="ignorePattern" value="^ \* \{@link .*$"/>
</module>

将解决问题。