SonarQube后台任务可能会因多个具有相同密钥的条目而失败

SonarQube后台任务可能会因多个具有相同密钥的条目而失败,sonarqube,sonar-runner,sonarqube5.3,Sonarqube,Sonar Runner,Sonarqube5.3,我知道这是一个非常类似的问题,但在我的情况下,我不知道问题到底发生在哪里。 这是我的日志: 2016.02.03 13:24:22 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVKnFyTzP-Q7QH-_7ITt java.lang.IllegalArgumentException: Multiple entries with same key: scala=Scala and scala=Scala at co

我知道这是一个非常类似的问题,但在我的情况下,我不知道问题到底发生在哪里。 这是我的日志:

2016.02.03 13:24:22 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVKnFyTzP-Q7QH-_7ITt
java.lang.IllegalArgumentException: Multiple entries with same key: scala=Scala and scala=Scala
at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:150) ~[guava-17.0.jar:na]
at com.google.common.collect.RegularImmutableMap.checkNoConflictInBucket(RegularImmutableMap.java:104) ~[guava-17.0.jar:na]
at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:70) ~[guava-17.0.jar:na]
at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:254) ~[guava-17.0.jar:na]
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1166) ~[guava-17.0.jar:na]
at com.google.common.collect.Maps.uniqueIndex(Maps.java:1140) ~[guava-17.0.jar:na]
at org.sonar.server.computation.language.LanguageRepositoryImpl.<init>(LanguageRepositoryImpl.java:46) ~[sonar-server-5.3.jar:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_72-internal]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_72-internal]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_72-internal]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_72-internal]
at org.picocontainer.injectors.AbstractInjector.newInstance(AbstractInjector.java:145) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:342) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) ~[picocontainer-2.15.jar:na]
at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) ~[picocontainer-2.15.jar:na]
at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) ~[picocontainer-2.15.jar:na]
at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699) ~[picocontainer-2.15.jar:na]
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647) ~[picocontainer-2.15.jar:na]
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632) ~[picocontainer-2.15.jar:na]
at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118) ~[picocontainer-2.15.jar:na]
at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) ~[picocontainer-2.15.jar:na]
at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) ~[picocontainer-2.15.jar:na]
at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) ~[picocontainer-2.15.jar:na]
at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) ~[picocontainer-2.15.jar:na]
at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699) ~[picocontainer-2.15.jar:na]
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647) ~[picocontainer-2.15.jar:na]
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:678) ~[picocontainer-2.15.jar:na]
at org.sonar.core.platform.ComponentContainer.getComponentByType(ComponentContainer.java:262) ~[sonar-core-5.3.jar:na]
at org.sonar.server.computation.step.AbstractComputationSteps$1.apply(AbstractComputationSteps.java:43) ~[sonar-server-5.3.jar:na]
at org.sonar.server.computation.step.AbstractComputationSteps$1.apply(AbstractComputationSteps.java:40) ~[sonar-server-5.3.jar:na]
at com.google.common.collect.Iterators$8.transform(Iterators.java:794) ~[guava-17.0.jar:na]
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[guava-17.0.jar:na]
at org.sonar.server.computation.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:37) ~[sonar-server-5.3.jar:na]
at org.sonar.server.computation.taskprocessor.report.ReportTaskProcessor.process(ReportTaskProcessor.java:72) ~[sonar-server-5.3.jar:na]
at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.executeTask(CeWorkerCallableImpl.java:81) [sonar-server-5.3.jar:na]
at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.call(CeWorkerCallableImpl.java:56) [sonar-server-5.3.jar:na]
at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.call(CeWorkerCallableImpl.java:35) [sonar-server-5.3.jar:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_72-internal]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_72-internal]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_72-internal]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_72-internal]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_72-internal]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_72-internal]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_72-internal]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72-internal]
2016.02.03 13:24:22 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Executed task | project=org.codehaus.sonar:javascript-sonar-runner-lcov:iss-hipcms-269 | id=AVKnFyTzP-Q7QH-_7ITt | time=3823ms
问题是,我只能看到java.lang.IllegalArgumentException:多个具有相同键的条目:scala=scala和scala=scala,因此我不确定问题发生在哪里


以前已经有一个项目了,我对这两个项目使用了相同的属性。这个问题是否可能是因为我为它们都设置了sonar.projectKey=org.codehaus.sonar:javascript sonar runner lcov?或者这不是错误消息所指的密钥?如果是,那么我应该把什么作为sonar.projectKey?

您使用的是2个插件scalastyle和scoverage,它们声明SonarQu是完全相同的语言scala。这不是插件的行为方式:应该有一个插件声明该语言(理想情况下称为sonar scala插件),另一个插件引用该语言但不声明它

已在SonarQube上创建,以确保更早地注意到这一点。 编辑:已创建用于修复插件端的此问题。
一旦这些插件的开发人员就哪个插件声明了语言以及哪个插件引用了语言达成一致,您的问题就应该得到解决。

我也遇到了同样的问题,我所做的如下:

我制作了一个声纳scala插件来定义scala语言,并将其添加到我的sonaqube中。 我从scalastyle插件和scoverage插件下载了源代码: 然后我重构了代码,在Sonar插件扩展的类中,我删除了定义语言的类: 我的ScalastylePlugin如下所示:


重写def getExtensions:java.util.List[Class[;你能列出你在SonarQube实例上安装了哪些插件吗?我使用的是Build Breaker 1.1、Git 1.1、JIRA 1.2、Java 3.9、JavaScript 2.10、SVN 1.2、Scalastyle 0.0.1-SNAPSHOT、Scoverage 5.1.1。为什么你认为问题可能是由这些插件引起的?那么,如果我删除其中一个插件,它应该会起作用吗?如果是这样,那么是不是这两个插件还有其他的使用方法吗?我在css插件上遇到了类似的问题。我卸载了一个,现在一切都恢复正常了。