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

Jenkins Pipeline执行SonarScanner分析Go代码时组件加载失败求助

问题分析与解决方案

问题重现

执行SonarScanner分析Go代码时触发组件加载异常,核心错误如下:

ERROR: Error during SonarScanner execution
java.lang.IllegalStateException: Unable to load component class org.sonar.plugins.javascript.JavaScriptSensor

执行的SonarScanner命令:

${scannerHome}/bin/sonar-scanner \
                    -Dsonar.projectKey=go-crud \
                    -Dsonar.projectName=go-crud \
                    -Dsonar.projectVersion=1.0 \
                    -Dsonar.sources=. \
                    -Dsonar.sonar.exclusions=**/*_test.go,**/vendor/** \
                    -Dsonar.sonar.tests=. \
                    -Dsonar.sonar.test.inclusions=**/*_test.go \
                    -Dsonar.sonar.test.exclusions=**/vendor/** \

解决方案

1. 修正SonarScanner参数拼写错误

命令中存在重复的sonar.前缀(如sonar.sonar.exclusions),这会导致参数无法被SonarQube正确识别,进而引发传感器加载失败。修正后的命令:

${scannerHome}/bin/sonar-scanner \
    -Dsonar.projectKey=go-crud \
    -Dsonar.projectName=go-crud \
    -Dsonar.projectVersion=1.0 \
    -Dsonar.sources=. \
    -Dsonar.exclusions=**/*_test.go,**/vendor/** \
    -Dsonar.tests=. \
    -Dsonar.test.inclusions=**/*_test.go \
    -Dsonar.test.exclusions=**/vendor/** \
    -Dsonar.go.tests.reportPaths=report.json

补充:添加sonar.go.tests.reportPaths指定测试报告路径,确保Go代码的测试数据能被正确解析。

2. 检查SonarQube Go语言插件状态

  • 登录SonarQube后台,进入Administration > Marketplace
  • 确认Go Language插件已安装,且版本与SonarQube服务器版本匹配
  • 若未安装,搜索并安装该插件,随后重启SonarQube服务

3. 验证SonarScanner与SonarQube版本兼容性

  • 确保SonarScanner版本与SonarQube服务器版本兼容(例如SonarQube 9.x需搭配SonarScanner 4.7及以上版本)
  • 在Jenkins的Global Tool Configuration中检查SonarScanner的配置版本是否符合要求

4. 清理Jenkins工作区

构建前添加清理步骤,避免旧缓存文件干扰分析流程:

stage('Clean Workspace') {
    steps {
        cleanWs()
    }
}

完成后重新触发Pipeline构建。

5. 启用调试日志定位深层问题

在SonarScanner命令后添加-X参数,获取完整调试日志,进一步排查插件依赖或冲突问题:

${scannerHome}/bin/sonar-scanner -X \
    -Dsonar.projectKey=go-crud \
    # 其他参数...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 22:17:15