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

How to solve Checkstyle conflict between @link JavaDoc on one line and line length?

考虑以下 JavaDoc:

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

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

但是,如果我将长 link 行保持原样,Maven Checkstyle 插件将 抛出错误:(sizes) LineLength: Line is longer than 100 characters (found 125)..

有办法解决这个问题吗?

要求:

编辑

我可以省略 link 中的包名称,但我想将它们保留在那里,以便它们只解析一件事,而不是潜在地解析同名的东西。

可以用 "ignorePattern" 属性 的 LineLength 检查 https://checkstyle.sourceforge.io/config_sizes.html#LineLength

在你的情况下,类似于

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

会解决问题。