NetBeansのプロジェクトでSonarを実行しているときに問題が発生します。動作せず、次のエラーが表示されます。
C:\Users\remy.fischer\Desktop\NetBeansProjects\NetBeansProjects\BinPacking\sonar-scanner-3.0.3.778-windows\bin>sonar-scanner -Dsonar.projectKey=..... -Dsonar.projectName=...
INFO: Scanner configuration file: C:\Users\remy.fischer\Desktop\NetBeansProjects
\NetBeansProjects\BinPacking\sonar-scanner-3.0.3.778-windows\bin\..\conf\sonar-s
canner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 3.0.3.778
INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
INFO: Windows 7 6.1 AMD64
INFO: User cache: C:\Users\remy.fischer\.sonar\cache
can't open C:\Users\remy.fischer\Desktop\NetBeansProjects\NetBeansProjects\BinPa
cking\sonar-scanner-3.0.3.778-windows\jre\lib\tzmappings.
INFO: Load global settings
INFO: Load global settings (done) | time=62ms
INFO: User cache: C:\Users\remy.fischer\.sonar\cache
INFO: Load plugins index
INFO: Load plugins index (done) | time=0ms
INFO: SonarQube server 6.4.0
INFO: Default locale: "fr_FR", source code encoding: "UTF-8"
INFO: Process project properties
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 1.248s
INFO: Final Memory: 39M/178M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
Java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.ProjectLock
at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.Java:71)
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.Java:678)
at org.sonar.core.platform.ComponentContainer.getComponentByType(ComponentContainer.Java:283)
at org.sonar.scanner.scan.ProjectScanContainer.doBeforeStart(ProjectScanContainer.Java:110)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.Java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:129)
at org.sonar.scanner.task.ScanTask.execute(ScanTask.Java:47)
at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.Java:86)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.Java:144)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:129)
at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.Java:118)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.Java:117)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.Java:63)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:498)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.Java:60)
at com.Sun.proxy.$Proxy0.execute(Unknown Source)
at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.Java:233)
at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.Java:151)
at org.sonarsource.scanner.cli.Main.runAnalysis(Main.Java:123)
at org.sonarsource.scanner.cli.Main.execute(Main.Java:77)
at org.sonarsource.scanner.cli.Main.main(Main.Java:61)
Caused by: Java.lang.IllegalStateException: Unable to load component class org.sonar.api.batch.bootstrap.ProjectReactor
at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.Java:71)
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.Java:632)
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.getInstance(DefaultPicoContainer.Java:699)
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.Java:647)
at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.Java:69)
... 23 more
emy.fischerDesktopNetBeansProjectsNetBeansProjectsBinPackingsrcbinpacking
at Sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.Java:182)
at Sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.Java:153)
at Sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.Java:77)
at Sun.nio.fs.WindowsPath.parse(WindowsPath.Java:94)
at Sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.Java:255)
at Java.nio.file.Paths.get(Paths.Java:84)
at org.sonar.scanner.scan.ProjectReactorBuilder.resolvePath(ProjectReactorBuilder.Java:395)
at org.sonar.scanner.scan.ProjectReactorBuilder.checkExistenceOfPaths(ProjectReactorBuilder.Java:385)
at org.sonar.scanner.scan.ProjectReactorBuilder.cleanAndCheckModuleProperties(ProjectReactorBuilder.Java:368)
at org.sonar.scanner.scan.ProjectReactorBuilder.cleanAndCheckProjectDefinitions(ProjectReactorBuilder.Java:334)
at org.sonar.scanner.scan.ProjectReactorBuilder.execute(ProjectReactorBuilder.Java:126)
at org.sonar.scanner.scan.MutableProjectReactorProvider.provide(MutableProjectReactorProvider.Java:30)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:498)
at org.picocontainer.injectors.MethodInjector.invokeMethod(MethodInjector.Java:129)
at org.picocontainer.injectors.MethodInjector.access$000(MethodInjector.Java:39)
at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.Java:113)
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:699)
at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.Java:647)
at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.Java:69)
... 37 more
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
C:\Users\remy.fischer\Desktop\NetBeansProjects\NetBeansProjects\BinPacking\sonar-scanner-3.0.3.778-windows\bin>
何をすべきかわかりませんが、ここで見た多くのことを試しましたが、残念ながら何も機能していません。
私もこれを持っていますが、sonarcloud.ioのソナーを実行するためにgradleを使用していました.-- stacktraceと--debugをオンにすると、資格情報が認識されなかったため、このエラーが発生したログから明らかになりましたソナーサーバー。私はそれらを再確認しましたが、正しい資格情報に変更した後はすべてうまくいきました。
したがって、詳細情報を取得するために-Xを指定して実行する以外に、資格情報を再確認することもお勧めします。
GithubでSonarqubeのプルリクエストチェックを構成しようとしていたときに、同じ問題が発生しました。私の場合、資格情報は正しいものでしたが、sonar.github.repository=myorg:myrepository
を与えていたため、このエラーが発生していました。 sonar.github.repository=myorg/myrepository
に変更して修正しました
たぶんそれは誰かを助けることができる...
数時間の検索の後、ジェンキンス内からソナー分析をトリガーしようとしたときに同じ正確なエラーが発生しました。問題はパス定義に関連していることがわかりました。
Sonar-project.propertiesファイルまたはプロジェクト構成セクション内のSonarQube構成セクションで、プロパティsonar.sourcesがスラッシュ(/)を使用してパスを定義していることを確認します
プロパティは次のように定義する必要があります。sonar.sources = D:/ software/jenkins/JenkinsHome/workspace/test_jenkins
そして、これは好きではありません:sonar.sources = D:\ software\jenkins\JenkinsHome\workspace\test_jenkins
これは、プロジェクトディレクトリの所有者とsonar-scannerの所有者が異なるためである可能性があります。プロジェクトディレクトリに755を許可して、sonar-scannerがこれにアクセスできるようにします。