2014-04-15 3 views
1

SonarQube를 4.2로 업데이트했으며 현재 Jenkins에서 작동하지 않습니다. T.T업데이트 후 Sonarqube가 작동하지 않습니다.

Jenkins와 SonarQube가 동일한 서버에 설치되어 있고 mysql을 사용하고 있습니다. 또한 Jenkins SonarQube 설정은 mysql db를 가리키고 있습니다. 젠킨스의

... 메이븐 버전은 내가 자바 프로젝트의 수중 음파 탐지기 받는다는 플러그인을 설정하지 3.0.5

입니다.

Sonar 3.4.1에서 정상적으로 작동했으며 SonarQube를 업데이트 한 후 Jenkins에서 설정을 변경하지 않았습니다.

여기는 오류 추적입니다.

 

    [ERROR] Expected one result (or null) to be returned by selectOne(), but found: 2 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] BUILD FAILURE 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] Total time: 16.495s 
    [INFO] Finished at: Tue Apr 15 06:10:08 GMT 2014 
    [INFO] Final Memory: 20M/89M 
    [INFO] ------------------------------------------------------------------------ 
    [ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default-cli) on project java-utils: Can not execute SonarQube analysis: Expected one result (or null) to be returned by selectOne(), but found: 2 -> [Help 1] 
    org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default-cli) on project java-utils: Can not execute SonarQube analysis 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
    Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute SonarQube analysis 
     at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:109) 
     at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:67) 
     at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:109) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
     ... 19 more 
    Caused by: org.apache.maven.plugin.MojoExecutionException: Expected one result (or null) to be returned by selectOne(), but found: 2 
     at org.sonar.maven.ExceptionHandling.handle(ExceptionHandling.java:37) 
     at org.sonar.maven.SonarMojo.execute(SonarMojo.java:175) 
     at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:104) 
     ... 23 more`enter code here` 
    Caused by: org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2 
     at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:66) 
     at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63) 
     at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43) 
     at com.sun.proxy.$Proxy61.selectByNameAndLanguage(Unknown Source) 
     at org.sonar.core.qualityprofile.db.QualityProfileDao.selectByNameAndLanguage(QualityProfileDao.java:181) 
     at org.sonar.core.qualityprofile.db.QualityProfileDao.selectByNameAndLanguage(QualityProfileDao.java:188) 
     at org.sonar.batch.rule.ModuleQProfiles.loadQProfile(ModuleQProfiles.java:105) 
     at org.sonar.batch.rule.ModuleQProfiles.(ModuleQProfiles.java:92) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
     at org.picocontainer.injectors.AbstractInjector.newInstance(AbstractInjector.java:145) 
     at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:342) 
     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) 
     at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) 
     at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) 
     at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) 
     at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) 
     at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698) 
     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646) 
     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631) 
     at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118) 
     at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136) 
     at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78) 
     at org.picocontainer.injectors.SingleMemberInjector.getMemberArguments(SingleMemberInjector.java:61) 
     at org.picocontainer.injectors.MethodInjector.getMemberArguments(MethodInjector.java:100) 
     at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:112) 
     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) 
     at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120) 
     at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58) 
     at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142) 
     at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96) 
     at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698) 
     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646) 
     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631) 
     at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118) 
     at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136) 
     at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78) 
     at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309) 
     at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335) 
     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) 
     at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) 
     at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) 
     at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) 
     at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) 
     at org.picocontainer.DefaultPicoContainer.instantiateComponentAsIsStartable(DefaultPicoContainer.java:1033) 
     at org.picocontainer.DefaultPicoContainer.addAdapterIfStartable(DefaultPicoContainer.java:1025) 
     at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1002) 
     at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766) 
     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91) 
     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 
     at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:199) 
     at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:194) 
     at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:187) 
     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 
     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 
     at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:56) 
     at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:44) 
     at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:82) 
     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 
     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 
     at org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:144) 
     at org.sonar.batch.bootstrap.BootstrapContainer.doAfterStart(BootstrapContainer.java:132) 
     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 
     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 
     at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92) 
     at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74) 
     at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) 
     at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) 
     at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) 
     at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) 
     at org.sonar.runner.api.Runner.execute(Runner.java:90) 
     at org.sonar.maven.SonarMojo.execute(SonarMojo.java:173) 
     ... 24 more 
    [ERROR] 
    [ERROR] Re-run Maven using the -X switch to enable full debug logging. 
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the following articles: 
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

+0

이 문제가 있지만 SQ 업데이트와 관련이 없다고 생각합니다.'오류 : 원인 : selectOne()에 의해 반환 될 것으로 예상되는 결과 하나 (또는 ​​null), 발견 : 2' – user3870315

답변

0

아마도 SonarQube 데이터베이스를 업데이트하지 않았을 수 있습니다. 이렇게하려면 SonarQube를

http://<sonarqubeserver>/setup 

과 같이 시작하고 지침을 따르십시오.

이 업데이트는 업그레이드를 통해 데이터베이스가 변경되는 경우 가끔 필요합니다. 그럼에도 SonarQube는 브라우저에서 시작하면 유지 보수 메시지를 게시해야합니다.

+0

답장을 보내 주셔서 감사합니다. Sonaqube를 업데이트 한 직후 데이터베이스를 업데이트했습니다. 고맙습니다. –

2

http://jira.codehaus.org/browse/SONAR-5196은 다음 버전 (4.3)에서 수정되었습니다. 동일한 언어에 대해 동일한 품질 프로파일 (이름은 같지만 대소 문자가 다른 두 개의 프로파일)이 있음을 의미합니다. 하나를 삭제하고 분석을 다시 실행할 수 있습니까?

+0

답장을 보내 주셔서 감사합니다. 프로필을 확인하겠습니다. –

+0

품질 프로파일에서 java에 대한 품질 프로파일을 제거했습니다. 하지만 여전히 같은 예외가 있습니다. 올바른 프로필을 제거 했습니까? –

0

나는 똑같은 문제였습니다. 나는 동일한 정확한 이름을 가진 2 개의 품질 프로파일 (3.5에서 4.2로 소나를 업그레이드 한 후)이었습니다. 이전의 "음파 탐지기 방식"을 제거하고 새로운 "음파 탐지기 방식"품질 프로파일을 유지하면 효과가있었습니다.

0

답장을 보내 주셔서 감사합니다.

각 언어 프로필에 대해 "음파 탐지기"프로파일을 발견했습니다. 실제로는 JAVA 프로파일에만 중점을 두었습니다.

모든 프로필의 이름이 변경되었습니다. 같은

  • 멋져요 - 소나 방법
  • 자바 소나 방법 (그루비 프로필 소나 방법에서) 자바 스크립트 프로파일 소나 방식에서
  • 자바 스크립트 소나 방법 ((자바 프로파일 소나 방법에서) PHP 프로필에 대한)
  • PHP-소나 방법 (수중 음파 탐지기에서 길)

그러나 PHP 프로파일은 "소나 방법"과 "소나 방법"을했다. 나는 그 중 하나를 제거했다.

그리고 어쨌든 Jenkins에서 Sonar를 실행하는 것이 성공적으로 완료되었습니다.

감사합니다.

0

SonarQube 웹 인터페이스에서 오류의 원인이되는 프로젝트를 삭제 한 다음 프로젝트를 다시 스캔하십시오.

관련 문제