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

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

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

除此之外你可以使用

 // NOSONAR 

评论以在一行上压制警告 。

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

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

例:

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

在Sonar导航到您的项目,转到Configuration \ Settings \ Issues忽略多个条件上的问题添加:

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

声纳无视问题

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