You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SonarScanner显示分析成功,SonarQube无C语言代码报告求助

问题:SonarScanner扫描C语言程序成功,但SonarQube显示"主分支无代码行"

环境信息

  • 操作系统:Windows 10
  • SonarScanner版本:4.8.0.2856
  • SonarQube版本:10.0.0.68432

操作流程

  1. 手动创建项目,选择「Other (for JS, TS, Go, Python, PHP)」作为构建类型
  2. 修改conf/sonar-scanner.properties配置文件,添加以下内容:
sonar.host.url=http://localhost:9000
sonar.projectKey=CarbonFootprintCalculator
sonar.sources=D:\New folder
  1. 在代码目录D:\New folder执行扫描命令:
sonar-scanner.bat -D"sonar.projectKey=CarbonFootprintCalculator" -D"sonar.sources=D:\New folder." -D"sonar.host.url=http://localhost:9000" -D"sonar.token=sqp_5e9cdc0c9da90779005ed42275dfa52e2a2fc08c" 
  1. 扫描输出提示ANALYSIS SUCCESSFUL和EXECUTION SUCCESS,任务处理API返回状态为SUCCESS,但SonarQube仪表盘显示「主分支无代码行」。

扫描日志关键异常点:

  • 仅索引1个文件,但后续无C语言传感器执行记录
  • CPD Executor Calculating CPD for 0 files,说明没有可分析的代码文件

解决方法

1. 安装SonarC插件

SonarQube默认不包含C语言分析能力,必须安装官方的SonarC插件:

  • 登录SonarQube管理员账号
  • 进入「Administration > Marketplace」
  • 搜索「SonarC」并完成安装
  • 重启SonarQube服务

2. 修正路径错误

命令行中sonar.sources参数末尾多了一个点(D:\New folder.),导致路径识别失败,修正后的命令:

sonar-scanner.bat -D"sonar.projectKey=CarbonFootprintCalculator" -D"sonar.sources=D:\New folder" -D"sonar.host.url=http://localhost:9000" -D"sonar.token=sqp_5e9cdc0c9da90779005ed42275dfa52e2a2fc08c" 

3. 显式指定分析语言

扫描时添加sonar.language=c参数,强制SonarScanner识别C语言文件:

sonar-scanner.bat -D"sonar.projectKey=CarbonFootprintCalculator" -D"sonar.sources=D:\New folder" -D"sonar.host.url=http://localhost:9000" -D"sonar.language=c" -D"sonar.token=sqp_5e9cdc0c9da90779005ed42275dfa52e2a2fc08c" 

4. 检查文件扩展名

确保C语言文件使用.c或.h后缀,若使用自定义扩展名,需添加参数指定:

-Dsonar.c.file.suffixes=.c,.h,.your-suffix

5. 清理扫描缓存

删除代码目录下的.scannerwork文件夹,重新执行扫描,避免缓存干扰。


内容的提问来源于stack exchange,提问作者user21819272

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 19:26:59