19

我们有一个带有通用部分的 Android/Blackberry 项目。很明显,该部分是为编译到 Android 和 Blackberry 目标而编写的,因此不能使用一些较新的 Java 特性(例如,Integer.valueOf)。我想跳过一些专门针对该部分的规则。有没有办法做到这一点?

4

2 回答 2

24

如果您将公用部分分离到自己的项目中,您可以在 Sonar 中添加新的质量配置文件(您在其中停用了这些规则)并将其分配给您的公用项目。

除此之外,您还可以使用

// NOSONAR

注释以抑制单行上的警告(请参阅常见问题解答)。

于 2011-07-15T17:56:19.313 回答
15

这是一个较老的问题,我认为同时有一个更好的解决方案:

将 // NOSONAR 添加到相关类中以某种方式解决了该问题。但我认为这是有问题的,因为在这种情况下根本不会应用任何规则。不过,还有另一种方法可以解决此问题: Ignore Issues on Multiple Criteria

例子:

我想忽略我所有 java 文件中 com.foobar.domain 包中编码规则 MagicNumbers 的所有问题。

在 Sonar 中导航到您的项目,转到Configuration\Settings\Issues并在Ignore Issues on Multiple Criteria添加:

  • 规则键模式:com.puppycrawl.tools.checkstyle.checks.coding.MagicNumberCheck
  • 文件路径模式:com/foobar/domain/*.java

声纳忽略问题

在链接的文档中也很好地解释了这一切。

于 2014-02-21T07:46:10.077 回答