【问题标题】:SonarQube scanner failing with line out of rangeSonarQube 扫描仪因线路超出范围而失败
【发布时间】:2020-01-23 22:14:04
【问题描述】:

我们有 AzureDevops 构建管道。我们有以下步骤。

  1. 为 SonarQube 准备分析
  2. 运行单元测试
  3. 运行集成测试
  4. 运行代码分析

对于 #4,当我们尝试运行代码分析时,SonarQube 扫描仪会出现一些奇怪的错误。

java.lang.IllegalStateException:第 92 行超出文件范围

但是文件只有 90 行代码。我不知道它为什么抱怨这个?

【问题讨论】:

标签: build azure-devops sonarqube pipeline sonarqube-scan


【解决方案1】:

SonarQube 扫描仪因线路超出范围而失败

一般来说,这个问题发生在一个文件的行数下降,然后声纳使用缓存,这就是它寻找超出范围的行的原因。

就像user1014639说的:

问题是由于生成了旧代码覆盖率报告 在更新代码之前。生成覆盖后已修复 再次报告。因此,还请确保任何覆盖率报告 上一次运行留下的被清除和新的 覆盖率报告已经到位

所以,请尝试运行命令行:

mvn clean test sonar:sonar

清理旧报告。

此外,如果上述方法对您没有帮助,您应确保分析的源代码与用于生成覆盖率报告的源代码完全相同:

查看this thread了解一些详细信息。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2017-02-06
    • 1970-01-01
    • 2017-10-11
    • 2011-06-09
    • 2017-08-17
    • 2018-03-18
    • 2017-07-08
    • 2018-12-20
    • 2018-03-21
    相关资源
    最近更新 更多