java - Sonar 显示旧代码中存在新的违规行为

标签 java sonarqube sonarqube-scan

我们正在使用 Sonar Qube 6.7.3 和 sonar-java-plugin 5.3

我们最近对 Sonar 配置进行了以下更改

  1. 启用新规则
  2. 更改了配置以包含字节代码(从“clean sonar:sonar”更改为“clean package sonar:sonar”)

我们正在使用 Sonar svn 插件并为其提供有效的凭据。

我知道向 Sonar 提供字节代码将有助于它识别更多问题,但是,我希望 Sonar 根据 svn 代码提交日期和上次分析日期来标记新问题,但事实并非如此。。 p>

请告诉我为什么它将旧代码中的问题标记为新代码?

最佳答案

Sonar Sanner 始终扫描整个代码库。如果有人认为某些代码结构是错误的或危险的(规则集已更改),那么 SonarQube 必须通知该代码的所有出现。为什么?让我们考虑以下示例:

插件升级后,SonarQube 提供了一个新的非常重要的安全规则,禁止使用危险的密码算法。现在问题是:

  • 只有在新代码中才危险吗?
  • 这总是危险的吗?

当然,这总是危险的。 SonarQube 不会强制您修复所有问题(质量门的使用是可选的)。它的主要目标是让您知道整个代码库中存在多少问题(代码气味/错误/漏洞)。

关于java - Sonar 显示旧代码中存在新的违规行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504588/

相关文章:

docker - SonarQube Docker 安装 CorruptIndexException : checksum failed

java - SonarQube 不索引/查找 JAVA 文件

java - 多系统的集中应用程序属性

Java:无法从 URL 获取 html

java - 我如何使用 log4j 自动记录类中调用的每个方法

java - 在多个 Web 应用程序之间共享应用程序服务器 (tomcat) 是否存在风险

java - 将 Runnable 实现为接口(interface)的抽象类

SonarQube 图标显示不正确

sonarqube - 带有 Maven 和 JDK 11 的 Sonar 扫描仪

java - Sonarqube 扫描错误,线路超出范围?