java - @SuppressWarnings 在 SonarQube 中损坏了吗?

标签 java sonarqube false-positive

在 SonarQube 4.5.x LTS 中,注解 @SuppressWarnings 可用于抑制代码中的误报,但在升级到 5.4 并重新安排一些包之后,这些以前被抑制的问题又重新浮出水面。为什么?

有人告诉我,SonarSource(开发 SonarQube 的公司)的建议是抑制管理 UI 中的误报,但出于某些原因,我们更愿意直接在代码中执行此操作*。 使用注释可以清楚地抑制以下违规行为:

Rule violation still active even though suppressed

SonarQube 不再处理 @SuppressWarnings 了吗?

* Reasons include:

  • No dependency on SonarQube database state
  • Not having to rely on SonarQube being able to identify an old suppressed line of code when changed)

Update (2017-02-03): SonarQube 6.x handles moving code around and keeping false positives

最佳答案

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

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

关于java - @SuppressWarnings 在 SonarQube 中损坏了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37916709/

相关文章:

java - Hibernate 不将修改的对象刷新到数据库

java - 同步适配器类中的单例对象

sonarqube - 如何永久忽略 SonarQube 规则违规中的误报

java - 是否已更新 JavaBean 规范以反射(reflect)注解的存在

java - 无法安装黑莓应用程序

svn - 从 SonarQube SCM 责任中排除文件?

postgresql - 如何在 Sonar 中获取项目的代码行

sonarqube - 不存在的JAR的"IllegalStateException: No files nor directories matching"

vnc - 我的程序从 AVG 得到误报

java - Findbugs 误报 : Dereference of the result of readLine() without nullcheck