在Sonar中,如何防止检查某些包中的某些规则?

时间:2011-07-15 14:31:54

标签: java sonarqube

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

2 个答案:

答案 0 :(得分:22)

如果您将公共部分与自己的项目分开,则可以在Sonar中添加新的Quality Profile(您停用这些规则的地方)并将其分配给您的公共项目。

除此之外,你可以使用

// NOSONAR

在一行上对supress a warning发表评论。

答案 1 :(得分:12)

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

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

示例:

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

在Sonar导航到您的项目,转到配置\设置\问题,然后在忽略多个标准上的问题添加:

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

Sonar ignore issues

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