SonarQube代码分析授权失败求助:Maven扫描插件执行报错
SonarQube 9.6.1授权失败问题解决
针对你遇到的SonarQube代码分析授权失败问题,结合你的环境信息,可按以下步骤排查解决:
1. 验证令牌有效性
- 确认
mySonarqubeGlobalToken是SonarQube后台生成的全局分析令牌,登录SonarQube后进入「我的账号」→「安全」页面检查令牌是否有效,或重新生成新令牌测试 - 用curl命令快速验证令牌权限:
若返回项目JSON数据则令牌有效;若返回401则令牌无效或无权限curl -u mySonarqubeGlobalToken: http://serverId:9000/api/projects/search
2. 检查项目权限配置
- 登录SonarQube后台找到
demo项目,进入「项目设置」→「权限」 - 确保令牌所属账号拥有**Execute Analysis(执行分析)**权限;如果是首次分析该项目,还需账号拥有「创建项目」权限,或提前在SonarQube后台创建好
demo项目
3. 核对命令行参数与网络
- 确认
-Dsonar.host.url中的serverId是容器内可访问的SonarQube服务器地址,可在容器内ping该地址验证连通性 - 检查命令中
-Dsonar.login=mySonarqubeGlobalToken是否存在多余空格,避免令牌参数被截断 - 全局令牌无需密码,可尝试在命令中添加
-Dsonar.password=(空值),避免潜在的认证参数缺失问题
4. 插件兼容性与命令优化
- 当前使用的
sonar-maven-plugin:3.9.1.2184与SonarQube 9.6.1兼容,若问题持续可尝试升级到同系列最新版本 - 建议将Sonar分析与Jacoco报告合并执行,减少重复构建,优化后的命令示例:
mvn -U clean org.jacoco:jacoco-maven-plugin:prepare-agent verify sonar:sonar \ -Dsonar.host.url=http://serverId:9000 \ -Dsonar.login=mySonarqubeGlobalToken
你的环境信息参考
- SonarQube版本:9.6.1
- 执行命令:
stage('SonarQube') { container ('maven') { sh 'mvn -U verify sonar:sonar -Dsonar.host.url=http://serverId:9000 -Dsonar.login=mySonarqubeGlobalToken' sh 'mvn -U clean org.jacoco:jacoco-maven-plugin:prepare-agent package org.jacoco:jacoco-maven-plugin:report' } } - pom.xml插件配置:
<plugins> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.9.1.2184</version> </plugin> </plugins> - 报错信息:
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar (default-cli) on project demo: You're not authorized to run analysis. Please contact the project administrator. -> [Help 1]
内容的提问来源于stack exchange,提问作者kernel
相关产品推荐
相关产品推荐

