【发布时间】:2014-05-29 08:27:34
【问题描述】:
我将 SonarQube 更新到 4.2,但它现在无法在 Jenkins 工作。 T.T
Jenkins 和 SonarQube 安装在同一台服务器上,我使用的是 mysql。 此外,SonarQube 的 Jenkins 设置指向 mysql 数据库。
... Jenkins 中的 Maven 版本是 3.0.5
我没有在java项目中设置声纳maven插件。
它在 Sonar 3.4.1 上运行良好,更新 SonarQube 后我没有更改 Jenkins 上的任何设置。
这是错误跟踪。
[错误] 期望 selectOne() 返回一个结果(或 null),但发现:2 [信息] --------------------------------------------- ------------------------- [信息] 构建失败 [信息] --------------------------------------------- ------------------------- [INFO] 总时间:16.495s [INFO] 完成时间:2014 年 4 月 15 日星期二 06:10:08 GMT [INFO] 最终内存:20M/89M [信息] --------------------------------------------- ------------------------- [错误] 无法在项目 java-utils 上执行目标 org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default-cli):无法执行 SonarQube 分析:预期返回一个结果(或 null) selectOne(),但找到:2 -> [帮助 1] org.apache.maven.lifecycle.LifecycleExecutionException: 无法在项目 java-utils 上执行目标 org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default-cli): 无法执行 SonarQube 分析 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 在 org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 在 org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 在 org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 在 org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 在 org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 引起:org.apache.maven.plugin.MojoExecutionException: 无法执行SonarQube分析 在 org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:109) 在 org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:67) 在 org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:109) 在 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19 更多 引起:org.apache.maven.plugin.MojoExecutionException:期望selectOne()返回一个结果(或null),但发现:2 在 org.sonar.maven.ExceptionHandling.handle(ExceptionHandling.java:37) 在 org.sonar.maven.SonarMojo.execute(SonarMojo.java:175) 在 org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:104) ... 23 更多`在此处输入代码` 引起:org.apache.ibatis.exceptions.TooManyResultsException:期望selectOne()返回一个结果(或null),但发现:2 在 org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:66) 在 org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63) 在 org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43) 在 com.sun.proxy.$Proxy61.selectByNameAndLanguage(未知来源) 在 org.sonar.core.qualityprofile.db.QualityProfileDao.selectByNameAndLanguage(QualityProfileDao.java:181) 在 org.sonar.core.qualityprofile.db.QualityProfileDao.selectByNameAndLanguage(QualityProfileDao.java:188) 在 org.sonar.batch.rule.ModuleQProfiles.loadQProfile(ModuleQProfiles.java:105) 在 org.sonar.batch.rule.ModuleQProfiles.(ModuleQProfiles.java:92) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 org.picocontainer.injectors.AbstractInjector.newInstance(AbstractInjector.java:145) 在 org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:342) 在 org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) 在 org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) 在 org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) 在 org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) 在 org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) 在 org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698) 在 org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646) 在 org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631) 在 org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118) 在 org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136) 在 org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78) 在 org.picocontainer.injectors.SingleMemberInjector.getMemberArguments(SingleMemberInjector.java:61) 在 org.picocontainer.injectors.MethodInjector.getMemberArguments(MethodInjector.java:100) 在 org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:112) 在 org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) 在 org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120) 在 org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58) 在 org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142) 在 org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96) 在 org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698) 在 org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646) 在 org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631) 在 org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118) 在 org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136) 在 org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78) 在 org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309) 在 org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335) 在 org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) 在 org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) 在 org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) 在 org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) 在 org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) 在 org.picocontainer.DefaultPicoContainer.instantiateComponentAsIsStartable(DefaultPicoContainer.java:1033) 在 org.picocontainer.DefaultPicoContainer.addAdapterIfStartable(DefaultPicoContainer.java:1025) 在 org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1002) 在 org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766) 在 org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91) 在 org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 在 org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:199) 在 org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:194) 在 org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:187) 在 org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 在 org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 在 org.sonar.batch.scan.ScanTask.scan(ScanTask.java:56) 在 org.sonar.batch.scan.ScanTask.execute(ScanTask.java:44) 在 org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:82) 在 org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 在 org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 在 org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:144) 在 org.sonar.batch.bootstrap.BootstrapContainer.doAfterStart(BootstrapContainer.java:132) 在 org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 在 org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 在 org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92) 在 org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74) 在 org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) 在 org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) 在 java.security.AccessController.doPrivileged(本机方法) 在 org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) 在 org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) 在 org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) 在 org.sonar.runner.api.Runner.execute(Runner.java:90) 在 org.sonar.maven.SonarMojo.execute(SonarMojo.java:173) ... 24 更多 [错误] [错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。 [错误] [错误] 有关错误和可能的解决方案的更多信息,请阅读以下文章: [错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException【问题讨论】:
-
我有这个问题,但我认为它与 SQ 更新无关。
ERROR: Caused by: Expected one result (or null) to be returned by selectOne(), but found: 2