Sonarqube 如何将Sonar JavadocMethod规则限制为文件名,包括;控制员;?

Sonarqube 如何将Sonar JavadocMethod规则限制为文件名,包括;控制员;?,sonarqube,checkstyle,Sonarqube,Checkstyle,我有一个预先存在的Java项目,Sonar分析最近应用于该项目。存在大量CheckStyle JavadocMethod规则冲突 如何限制JavadocMethod规则,使其仅适用于模式为“Controller.java”的java文件名?该检查没有提供将其自身限制为某些文件的选项,因此这是不容易做到的。但是,你可以: 编写一个命令,禁止在与模式不匹配的文件中出现所有JavadocMethod警告。这并不难——链接页面上的示例正好涵盖了这种情况。但它需要您部署过滤器,这可能会有点麻烦。 我不确

我有一个预先存在的Java项目,Sonar分析最近应用于该项目。存在大量CheckStyle JavadocMethod规则冲突

如何限制JavadocMethod规则,使其仅适用于模式为“Controller.java”的java文件名?

该检查没有提供将其自身限制为某些文件的选项,因此这是不容易做到的。但是,你可以:

  • 编写一个命令,禁止在与模式不匹配的文件中出现所有JavadocMethod警告。这并不难——链接页面上的示例正好涵盖了这种情况。但它需要您部署过滤器,这可能会有点麻烦。
    我不确定这是否适用于声纳。我一直在声纳中使用自定义的Checkstyle检查,但我还没有尝试过自定义过滤器

  • 编写Checkstyle的
    JavadocMethodCheck
    的子类,它添加了一个选项,仅将自身应用于某些文件(,)。如果无法将自定义过滤器添加到声纳,这是一个确定的赌注

  • 如果您使用的是Eclipse,则可以根据文件名将其配置为使用不同的规则集。您可以使用项目属性中的“高级”配置设置来实现这一点。您的正则表达式将是
    Controller\.java$
    ,以匹配所有控制器,
    {10}(?)以匹配其他java文件。这种方法也可以应用于单机或基于Ant的Checkstyle运行,但不适用于Sonar


很抱歉,没有比这更简单的方法了-但这就是目前的情况…
祝你好运!

如果你能更新的话,你的Sonar教程链接已经过时了。刚刚更新。旧教程已经不存在了,但SonarQube今天的工作方式不同了。更新为更有用的示例集。