我有一个预先存在的Java项目,最近应用了Sonar Analysis。有大量的CheckStyle JavadocMethod规则违规。
如何限制JavadocMethod规则,仅应用于模式为“ Controller .java”的java文件名?
答案 0 :(得分:2)
JavadocMethod 检查不提供将自己限制为某些文件的选项,因此无法轻松完成此操作。但是 - 你可以:
编写一个custom filter,它会抑制与模式不匹配的文件中出现的所有 JavadocMethod 警告。这并不难 - 链接页面上的示例仅涵盖该案例。但它需要你部署过滤器,这可能有点麻烦 我不确定这是否适用于声纳。我一直在Sonar中使用自定义Checkstyle检查,但我还没有尝试过自定义过滤器。
编写Checkstyle JavadocMethodCheck
的子类,它添加了一个选项,仅将自身应用于某些文件(Sonar Examples,Checkstyle tutorial)。如果无法将自定义过滤器添加到Sonar,这肯定会打赌。
如果您使用的是Eclipse,则可以将其配置为使用基于文件名的不同规则集。您可以使用项目属性中的“高级”配置设置来执行此操作。您的正则表达式Controller\.java$
匹配所有控制器,.{10}(?<!Controller)\.java$
匹配其他Java文件。这种方法也可以应用于独立或基于Ant的Checkstyle运行,但不适用于Sonar。
对不起,没有什么比这更容易了 - 但目前的情况就是这样......祝你好运!