Java 并行声纳扫描仪执行锁定错误

Java 并行声纳扫描仪执行锁定错误,java,jenkins,sonarqube,code-coverage,sonarqube-scan,Java,Jenkins,Sonarqube,Code Coverage,Sonarqube Scan,我们正在Jenkins上运行Sonar scanner(版本3.0.3.778),并使用Sonar.projectKey和Sonar.branch属性为每个分支创建一个新项目。即使每个分支创建一个新的项目,我们仍然会随机地得到错误,说项目中已经有另一个分析。这似乎是扫描器中的一个缺陷,当项目之间应该分离时,扫描器会被自己的锁绊倒。请注意,我们还运行Sonar server的5.6.6版和Jenkins SonarQube插件的2.6.1版。有什么想法吗 03:51:40 ERROR: Error

我们正在Jenkins上运行Sonar scanner(版本3.0.3.778),并使用Sonar.projectKey和Sonar.branch属性为每个分支创建一个新项目。即使每个分支创建一个新的项目,我们仍然会随机地得到错误,说项目中已经有另一个分析。这似乎是扫描器中的一个缺陷,当项目之间应该分离时,扫描器会被自己的锁绊倒。请注意,我们还运行Sonar server的5.6.6版和Jenkins SonarQube插件的2.6.1版。有什么想法吗

03:51:40 ERROR: Error during SonarQube Scanner execution
03:51:40 java.lang.IllegalStateException: Another SonarQube analysis is already in progress for this project
03:51:40    at org.sonar.batch.scan.ProjectLock.failAlreadyInProgress(ProjectLock.java:58)
03:51:40    at org.sonar.batch.scan.ProjectLock.tryLock(ProjectLock.java:50)
03:51:40    at org.sonar.batch.scan.ProjectScanContainer.doBeforeStart(ProjectScanContainer.java:109)
03:51:40    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:140)
03:51:40    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
03:51:40    at org.sonar.batch.task.ScanTask.execute(ScanTask.java:47)
03:51:40    at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
03:51:40    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
03:51:40    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
03:51:40    at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:106)
03:51:40    at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
03:51:40    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
03:51:40    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
03:51:40    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
03:51:40    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
03:51:40    at java.lang.reflect.Method.invoke(Method.java:498)
03:51:40    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
03:51:40    at com.sun.proxy.$Proxy0.execute(Unknown Source)
03:51:40    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
03:51:40    at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
03:51:40    at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:123)
03:51:40    at org.sonarsource.scanner.cli.Main.execute(Main.java:77)
03:51:40    at org.sonarsource.scanner.cli.Main.main(Main.java:61)

扫描仪在Jenkins的项目工作区中创建临时文件。这就是为什么我们不能支持对同一物理文件集的并发分析。您必须配置Jenkins,以便它为每个分支使用不同的工作区。

请将您的问题包括SonarQube的版本。@G.Ann-SonarSourceTeam-我们使用的版本是5.6.6。在这种情况下,我们已经为每个分支使用了不同的工作区。