詹金斯到声纳整合不起作用

时间:2016-07-20 09:50:05

标签: jenkins sonarqube maven-3 jenkins-plugins sonarqube-4.5

我正在使用Jenkins版本 2.7.1 ,我目前遇到与Sonar交谈的问题。 我们的企业Sonar目前版本 4.5.4 ,我们不允许更改此内容 在詹金斯,我使用的是Maven 3.3.9

我得到的错误如下

       05:49:46 [INFO] SonarQube version: 4.5.4
05:49:48 [INFO] Default locale: "en_US", source code encoding: "UTF-8"
05:49:49 [INFO] [05:49:49.050] Load global referentials...
05:49:49 [INFO] [05:49:49.185] Load global referentials done: 138 ms
05:49:49 [INFO] ------------------------------------------------------------------------
05:49:49 [INFO] BUILD FAILURE
05:49:49 [INFO] ------------------------------------------------------------------------
05:49:49 [INFO] Total time: 6.069 s
05:49:49 [INFO] Finished at: 2016-07-20T05:49:49-04:00
05:49:49 [INFO] Final Memory: 23M/237M
05:49:49 [INFO] ------------------------------------------------------------------------
05:49:49 [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar (default-cli) on project services-web: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 -> [Help 1]
05:49:49 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar (default-cli) on project services-web: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
05:49:49    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
05:49:49    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
05:49:49    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
05:49:49    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
05:49:49    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
05:49:49    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
05:49:49    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
05:49:49    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
05:49:49    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
05:49:49    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
05:49:49    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
05:49:49    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
05:49:49    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
05:49:49    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
05:49:49    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
05:49:49    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
05:49:49    at java.lang.reflect.Method.invoke(Method.java:497)
05:49:49    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
05:49:49    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
05:49:49    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
05:49:49    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
05:49:49 Caused by: org.apache.maven.plugin.MojoExecutionException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
05:49:49    at org.sonarsource.scanner.maven.bootstrap.ExceptionHandling.handle(ExceptionHandling.java:36)
05:49:49    at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:81)
05:49:49    at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.java:112)
05:49:49    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
05:49:49    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
05:49:49    ... 20 more
05:49:49 Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
05:49:49    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
05:49:49    at com.google.gson.Gson.fromJson(Gson.java:803)
05:49:49    at com.google.gson.Gson.fromJson(Gson.java:768)
05:49:49    at com.google.gson.Gson.fromJson(Gson.java:717)
05:49:49    at com.google.gson.Gson.fromJson(Gson.java:689)
05:49:49    at org.sonar.batch.protocol.input.GlobalReferentials.fromJson(GlobalReferentials.java:70)
05:49:49    at org.sonar.batch.referential.DefaultGlobalReferentialsLoader.load(DefaultGlobalReferentialsLoader.java:37)
05:49:49    at org.sonar.batch.referential.GlobalReferentialsProvider.provide(GlobalReferentialsProvider.java:38)
05:49:49    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
05:49:49    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
05:49:49    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
05:49:49    at java.lang.reflect.Method.invoke(Method.java:497)
05:49:49    at org.picocontainer.injectors.MethodInjector.invokeMethod(MethodInjector.java:129)
05:49:49    at org.picocontainer.injectors.MethodInjector.access$000(MethodInjector.java:39)
05:49:49    at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:113)
05:49:49    at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
05:49:49    at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120)
05:49:49    at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58)
05:49:49    at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142)
05:49:49    at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96)
05:49:49    at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
05:49:49    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
05:49:49    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
05:49:49    at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
05:49:49    at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
05:49:49    at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
05:49:49    at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
05:49:49    at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
05:49:49    at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
05:49:49    at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
05:49:49    at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
05:49:49    at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
05:49:49    at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
05:49:49    at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
05:49:49    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
05:49:49    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
05:49:49    at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
05:49:49    at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
05:49:49    at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
05:49:49    at org.picocontainer.injectors.SingleMemberInjector.getMemberArguments(SingleMemberInjector.java:61)
05:49:49    at org.picocontainer.injectors.MethodInjector.getMemberArguments(MethodInjector.java:100)
05:49:49    at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:112)
05:49:49    at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
05:49:49    at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120)
05:49:49    at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58)
05:49:49    at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142)
05:49:49    at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96)
05:49:49    at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
05:49:49    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
05:49:49    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
05:49:49    at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
05:49:49    at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
05:49:49    at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
05:49:49    at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
05:49:49    at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
05:49:49    at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
05:49:49    at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
05:49:49    at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
05:49:49    at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
05:49:49    at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
05:49:49    at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
05:49:49    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
05:49:49    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
05:49:49    at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
05:49:49    at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
05:49:49    at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
05:49:49    at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
05:49:49    at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
05:49:49    at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
05:49:49    at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
05:49:49    at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
05:49:49    at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
05:49:49    at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
05:49:49    at org.picocontainer.DefaultPicoContainer.instantiateComponentAsIsStartable(DefaultPicoContainer.java:1033)
05:49:49    at org.picocontainer.DefaultPicoContainer.addAdapterIfStartable(DefaultPicoContainer.java:1025)
05:49:49    at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1002)
05:49:49    at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766)
05:49:49    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
05:49:49    at org.sonar.batch.bootstrapper.Batch.start(Batch.java:81)
05:49:49    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
05:49:49    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.executeOldVersion(BatchIsolatedLauncher.java:70)
05:49:49    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
05:49:49    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
05:49:49    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
05:49:49    at java.lang.reflect.Method.invoke(Method.java:497)
05:49:49    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
05:49:49    at com.sun.proxy.$Proxy23.executeOldVersion(Unknown Source)
05:49:49    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:245)
05:49:49    at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
05:49:49    at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:78)
05:49:49    ... 23 more
05:49:49 Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
05:49:49    at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:374)
05:49:49    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:165)
05:49:49    ... 112 more

问题:有没有人知道我需要改变什么才能让它发挥作用?

就像一个FYI - 我在没有jenkins的情况下在本地试过 - 只是运行maven命令并得到同样的错误。

1 个答案:

答案 0 :(得分:2)

由于正确追踪此问题所需的详细信息水平超出了您通过问题描述实际提供的内容,因此以下是一些可能的问题排查路径:

  • 降级Sonar Maven插件:虽然official documentation声明:

      

    来自maven-sonar-plugin 2.7 ,SonarQube< 4.5 不再受支持。   如果在 4.5 之前使用SonarQube实例,则应使用maven-sonar-plugin 2.6

    因此,版本 4.5.4 确实应该由您当前使用的插件(org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2)支持,它可能是兼容性边缘情况,因此值得尝试更早一些版。但请注意,早期的主要版本为其groupId协调了不同的Maven(GAV,GroupId,ArtifactId,Version):org.codehaus.mojo:sonar-maven-plugin:jar:2.7.1

  • 检查代理设置:一个非常类似的错误(几乎相同的堆栈跟踪)已经reported,并且(未经证实的)结论是:

      

    错误...表示您的代理可能已损坏响应。

         

    请比较原始回复(不使用您的代理)和您从代理商处获得的回复。