SonarQube 扫描仪因线路超出范围而失败
Posted
技术标签:
【中文标题】SonarQube 扫描仪因线路超出范围而失败【英文标题】:SonarQube scanner failing with line out of range 【发布时间】:2020-01-23 22:14:04 【问题描述】:我们有 AzureDevops 构建管道。我们有以下步骤。
-
为 SonarQube 准备分析
运行单元测试
运行集成测试
运行代码分析
对于 #4,当我们尝试运行代码分析时,SonarQube 扫描仪会出现一些奇怪的错误。
java.lang.IllegalStateException:第 92 行超出文件范围
但是文件只有 90 行代码。我不知道它为什么抱怨这个?
【问题讨论】:
Line 1203 is out of range when scanning C# file的可能重复 这个问题有什么更新吗?你解决了这个问题吗?如果没有,请告诉我有关此问题的最新信息吗? 【参考方案1】:SonarQube 扫描仪因线路超出范围而失败
一般来说,这个问题发生在一个文件的行数下降,然后声纳使用缓存,这就是它寻找超出范围的行的原因。
就像user1014639说的:
问题是由于生成了旧代码覆盖率报告 在更新代码之前。生成覆盖后已修复 再次报告。因此,还请确保任何覆盖率报告 上一次运行留下的被清除和新的 覆盖率报告已经到位。
所以,请尝试运行命令行:
mvn clean test sonar:sonar
清理旧报告。
此外,如果上述方法对您没有帮助,您应确保分析的源代码与用于生成覆盖率报告的源代码完全相同:
查看this thread了解一些详细信息。
希望这会有所帮助。
【讨论】:
以上是关于SonarQube 扫描仪因线路超出范围而失败的主要内容,如果未能解决你的问题,请参考以下文章