我尝试在空 pom 上构建分支。
$ mvn sonar:sonar -Dsonar.host.url=http://sonar.corp.tld -Dsonar.login=5846e53_LOGIN_HASH_d7e04e819 -Dsonar.projectKey=out.projectkey -Dsonar.branch.name=apple
我得到了这个错误:
Parameter 'characteristic' must be a key-value pair with the format 'key=value'.
从 Maven DEBUG 日志中,我看到:
[DEBUG] 21:45:02.528 Upload report
[DEBUG] 21:45:03.459 POST 400 https://sonar.copr.tld/api/ce/submit?projectKey=our.projectkey&projectName=projName&characteristic=branch%253Dapple&characteristic=branchType%253DSHORT | time=928ms
在SonarQube服务器端,在日志中我们可以看到:
172.16.0.14 - - [06/Jul/2018:19:03:42 +0200] "POST /api/ce/submit?projectKey=our.projectkey&projectName=projName&characteristic=branch%253Dapple&characteristic=branchType%253DSHORT HTTP/1.1" 400 103 "-" "ScannerMaven/3.4.1.1168/3.5.0" "SERVER_ID"
Sonar 服务器:7.1
Maven版本3.5.4
我还尝试了最新的 Sonar maven 插件。
我们发现,问题似乎在于 characteristics
URL 参数的双重编码 branch
和 branchType
。
有没有人遇到过这样的情况?
谢谢, 兹 Solr 特
最佳答案
对于我们来说,将 sonar.branch.name 设置为空值时会发生同样的错误。如果缺少此属性,则一切正常。但是当它为空时,请求将包含一个参数branch=(nothing),这就是特征错误消息所提示的,因为它只是key=(nothing)而不是key=value。
关于java - sonar-scanner-maven 分支构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51217070/