如何查找失败的 checkstyle 规则的名称

Jer*_*ein 4 java checkstyle

Checkstyle 对某些代码犹豫不决,我想添加一个抑制规则。我如何找到失败的规则的名称,以便我可以专门为这部分代码禁止该规则?

bar*_*uin 5

如果您使用的是 Checkstyle 的命令行版本,最简单的方法是查看 XML 输出报告。使用-f xml告诉Checkstyle的输出XML。XML 中的违规消息如下所示:

<error line="0" severity="error" message="Missing package-info.java file."
    source="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck"/>
Run Code Online (Sandbox Code Playgroud)

所以在这里,抑制过滤器使用的检查名称是JavadocPackage.

对于手动查找,您还有一些其他选项:

  • 您可以手动转到可用检查列表并从违规消息中搜索关键字。(感谢@crasp 在评论中指出这一点。)
  • 如果您使用的是 Eclipse,则可以按照此处所述选中“在违规消息中包含规则名称”复选框以查看 Eclipse 中的规则名称。
  • 如果您使用的是SonarQube,则可以通过单击问题来查看规则名称。