如何将Sonar JavadocMethod规则限制为包含“Controller”的文件名?

时间:2013-07-12 14:57:29

标签: sonarqube checkstyle

我有一个预先存在的Java项目,最近应用了Sonar Analysis。有大量的CheckStyle JavadocMethod规则违规。

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

1 个答案:

答案 0 :(得分:2)

JavadocMethod 检查不提供将自己限制为某些文件的选项,因此无法轻松完成此操作。但是 - 你可以:

  • 编写一个custom filter,它会抑制与模式不匹配的文件中出现的所有 JavadocMethod 警告。这并不难 - 链接页面上的示例仅涵盖该案例。但它需要你部署过滤器,这可能有点麻烦 我不确定这是否适用于声纳。我一直在Sonar中使用自定义Checkstyle检查,但我还没有尝试过自定义过滤器。

  • 编写Checkstyle JavadocMethodCheck的子类,它添加了一个选项,仅将自身应用于某些文件(Sonar ExamplesCheckstyle tutorial)。如果无法将自定义过滤器添加到Sonar,这肯定会打赌。

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

对不起,没有什么比这更容易了 - 但目前的情况就是这样......祝你好运!