I am using Jenkins version 2.7.1 and I am currently experiencing issues talking to Sonar. Our enterprise Sonar is currently at version 4.5.4 and we are not allowed change this In Jenkins I am using Maven 3.3.9
The error I am getting is as follows
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
Question: Does anyone know what I need to change in order to get this working?
Just as an FYI - I tried this locally without jenkins - just running the maven command and got the same error.
Since the required level of details to properly track down this issue goes beyond what you can actually provide via the description of your question, here are some possible troubleshooting paths:
Downgrade Sonar Maven plugin: although official documentation states that:
From maven-sonar-plugin 2.7, SonarQube < 4.5 is no longer supported. If using SonarQube instance prior to 4.5, you should use maven-sonar-plugin 2.6.
And hence, version 4.5.4 should indeed be supported by the plugin you are currently using (org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2
), it might be a compatibility edge case and hence worth to try an earlier version. Note however that earlier major version had different Maven coordinated (GAV, GroupId, ArtifactId, Version) for its groupId: org.codehaus.mojo:sonar-maven-plugin:jar:2.7.1
Check proxy settings: a really similar error (almost identical stacktrace) has already been reported and the (unconfirmed) conclusion was:
the error ... means that the response is probably corrupted by your proxy.
Please compare original response (without using your proxy) and the one you get from the proxy.