SonarQube破解了@SuppressWarnings?

时间:2016-06-20 07:25:11

标签: java sonarqube false-positive

在SonarQube 4.5.x LTS中,注释@SuppressWarnings可用于抑制代码中的误报,但在升级到5.4并重新安排某些包之后,这些先前被抑制的问题已经重新出现。为什么呢?

我被告知SonarSource(开发SonarQube的公司)的建议是抑制来自管理UI的误报,但我们更愿意直接在代码中执行此操作*。 使用注释明确禁止下面的违规行为:

Rule violation still active even though suppressed

SonarQube中是否不再处理@SuppressWarnings

  

*原因包括:

     
      
  • 不依赖于SonarQube数据库状态
  •   
  • 不必依赖SonarQube   能够在更改时识别旧的受抑制代码行)
  •   
     

更新(2017-02-03):SonarQube 6.x处理移动代码并保持误报

2 个答案:

答案 0 :(得分:4)

如果您使用的是SonarQube Java插件的版本3.14,则这是一个已知问题。该修复程序将与下一个传入版本(4.0)一起发布。相关的JIRA票证:SONARJAVA-1719

对于旧版本的插件(3.13.1及之前版本),@SuppressWarnings注释应按预期工作,并在使用规则键时隐藏问题。

答案 1 :(得分:0)

您可以使用该行后面的//NOSONAR注释。 这并没有真正解决它,但这是SonarCube忽略它的方式。