我正在使用MSBuild。我安装了Java 8。
我正在运行以下命令:
SonarQube.Scanner.MSBuild.exe begin /k:"ABC" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="8b839xxxxxxxxxxxxxxxxxxxxxxx6b00125bf92" /d:sonar.verbose=true
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\msbuild.exe" /t:rebuild
SonarQube.Scanner.MSBuild.exe end /d:sonar.login="8b839xxxxxxxxxxxxxxxxxxxxxxx6b00125bf92"
最后一步失败:
ERROR: Error during SonarQube Scanner execution
ERROR: The 'report' parameter is missing
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
The SonarQube Scanner did not complete successfully
12:53:21.909 Creating a summary markdown file...
12:53:21.918 Post-processing failed. Exit code: 1
MSBuild版本大于14。
正确安装了Java 8。文档表明Java 8已足够。
更新:我安装了Java SDK 9.还是同样的问题。 更新:使用详细日志记录和使用/ n命名参数:
INFO: Analysis report generated in 992ms, dir size=4 MB
INFO: Analysis reports compressed in 549ms, zip size=1 MB
INFO: Analysis report generated in C:\ABC\.sonarqube\out\.sonar\scanner-report
DEBUG: Upload report
DEBUG: POST 400 http://localhost:9000/api/ce/submit?projectKey=ABC | time=1023ms
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 54.833s
INFO: Final Memory: 51M/170M
INFO: ------------------------------------------------------------------------
DEBUG: Execution getVersion
DEBUG: Execution stop
ERROR: Error during SonarQube Scanner execution
ERROR: The 'report' parameter is missing
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
Process returned exit code 1
The SonarQube Scanner did not complete successfully
Creating a summary markdown file...
Post-processing failed. Exit code: 1
答案 0 :(得分:2)
我在SonarQube中遇到了同样的问题,终于找到了解决方案: 使用评估令牌后,您需要重新启动声纳服务。
答案 1 :(得分:1)
就我而言,SonarQube 7.9.1(与 Helm 一起部署到 Kubernetes 集群)在 Helm 回滚后缺少临时目录 /opt/sonarqube/temp/tc/work/Tomcat/localhost/ROOT
。不知道发生了什么。
SonarQube pod 内的日志文件 /opt/sonarqube/logs/web.log
出现此错误:
2021.02.02 06:57:03 WARN web[AXdZ6l6MParQCncJACv3][o.s.s.w.ServletRequest] Can't read file part for parameter report
java.io.IOException: The temporary upload location [/opt/sonarqube/temp/tc/work/Tomcat/localhost/ROOT] is not valid
修复是执行到 pod 并创建丢失的目录。虽然想知道原因...
答案 2 :(得分:0)
请注意这不是答案,但我觉得这个反馈对于回答这个问题很有价值。
http://localhost:9000/api/ce/submit?projectKey=myProjectKey
返回
{
"errors": [
{
"msg": "The 'report' parameter is missing"
}
]
}
您可以通过删除projectKey
查询参数来获得类似的错误。我尝试添加report
查询参数并收到相同的错误:
http://localhost:9000/api/ce/submit?projectKey=brian3016&report=report
鉴于此,我觉得他们的代码存在问题。它应该在创建POST请求时包含一个报告参数,但它没有这样做。
-X
开关更改为/d:sonar.verbose=true
。 E.G。SonarScanner.MSBuild.exe begin / k:“myProjectKey”/d:sonar.host.url="http://localhost:9000"/d:sonar.login="myLogin"/d:sonar.verbose=真
请注意,详细记录并没有给我任何有价值的见解。
(另请注意,文档目前说使用SonarQube.Scanner.MSBuild.exe,但详细记录器告诉我切换到SonarScanner.MSBuild.exe)
那么......我们如何向可以修复此问题的人报告此问题?他们的documentation说要去Stackoverflow。我们在这里。
我认为这可能是项目的一个问题。所以我创建了一个新项目,除了启动模板控制台应用程序。同样的错误。
答案 3 :(得分:0)
问题在于声纳服务正在启动。
首先尝试使用Ctrl + c停止SonarStart.bat,然后尝试打开localhost:9000(或您配置的声纳服务器端口)。
如果它仍在打开,则转到任务管理器并搜索wrapper.exe服务并停止该服务。如果找不到服务,请转到:
Task manager>Details> and stop all java.exe process.
注意:如果您运行许多Java应用程序,请右键单击java.exe并选择goto服务,然后仅停止那些属于AppX Deployment.services的java.exe
现在以管理员身份启动sonarstart.bat。
答案 4 :(得分:0)
检查是否有足够的内存 例如:免费-m 就我而言,我必须升级内存。
答案 5 :(得分:0)
今天,当我使用詹金斯扫描代码时,我面临着同样的错误。 POST / api / ce / submit时获取错误,并通过添加sonar.verbose = true获得400代码 我使用以下步骤检查原因