在完成SonarScanner分析之后,有一些工作后运行如下:
[DEBUG] 14:56:53.076 Post-jobs : Sonar Plug-in for Bitbucket Cloud
[INFO] 14:56:53.076 Executing post-job 'Sonar Plug-in for Bitbucket Cloud'当我在PR中有以下消息的二进制文件时,这会失败:
diff --git a/docs/folder1/images/image.png b/docs/folder1/images/image.png
new file mode 100644
index 0000000..c73bf4c
Binary files /dev/null and b/docs/folder1/images/image.png differ
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar (default-cli) on project demo-proj: [sonar4bitbucket] Failed to parse diff: string matching regex `\z' expected but `B' found -> [Help 1]其中一个解决方案是列出这里。但这是不可行的,我想完全跳过这份工作。这是我当前pom.xml文件中声纳-maven- plugin插件的内容-
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.7.0.1746</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>sonar</goal>
</goals>
</execution>
</executions>
</plugin>如果目标org.sonarsource.scanner.maven导致了这种情况,我只想禁用它。我有办法做到这一点吗?
发布于 2021-02-15 09:09:03
这个问题来自于位桶云声纳插件插件。SonarScanner之所以失败,是因为它被插件逼着这么做。
我查了你联系的问题。堆栈跟踪最重要的部分是:
java.lang.RuntimeException: [sonar4bitbucket] Failed to parse diff: string matching regex \z' expected but F' found
at ch.mibex.bitbucket.sonar.diff.IssuesOnChangedLinesFilter.parseOrFail(IssuesOnChangedLinesFilter.scala:54)
at ch.mibex.bitbucket.sonar.diff.IssuesOnChangedLinesFilter.filter(IssuesOnChangedLinesFilter.scala:16)
at ch.mibex.bitbucket.sonar.review.ReviewCommentsHandler.processIssues(ReviewCommentsHandler.scala:96)
at ch.mibex.bitbucket.sonar.review.ReviewCommentsHandler.updateComments(ReviewCommentsHandler.scala:33)
at ch.mibex.bitbucket.sonar.review.SonarReviewPostJob.ch$mibex$bitbucket$sonar$review$SonarReviewPostJob$$handlePullRequest(SonarReviewPostJob.scala:45)
[...]我检查了前面提到的类(SonarReviewPostJob和ReviewCommentsHandler),没有任何方法禁用这个处理器。
这个插件的最后一次发布是在2017年12月18日。我也没有看到任何积极的发展(上一次提交是2年前-2019年5月31日)。我找到了承诺,它增加了对SonarQube 6.5+的支持,但它还没有发布(2019年1月26日)。最后,未发布更改的README.md文件通知:
插件只支持<7.7%的SonarQube版本,因为需要预览模式
这意味着它不支持SonarQube 7.xLTS。SonarSource将在几个月内发布8.xLTS(应该在2月至2021年4月之间)。
在我看来,解决问题的唯一方法是卸载未维护的插件。此时,它在二进制文件上失败,但很快就会开始使用NoClassDefFoundError (例如,当您的SonarQube实例被更新时)。
https://stackoverflow.com/questions/66137478
复制相似问题