3

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

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

4

1 回答 1

2

JavadocMethod检查不提供将自身限制为某些文件的选项,因此这不容易完成。但是 - 你可以:

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

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

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

很抱歉,没有什么比您更容易获得的了——但这就是目前的情况......
祝你好运!

于 2013-07-17T20:42:18.607 回答