Sonar - невозможно загрузить класс компонента org.sonar.scanner.scan.ProjectLock

У меня есть некоторые проблемы при запуске Sonar в моем проекте netbeans. Он не работает, и у меня есть следующая ошибка:

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>

Я не знаю, что делать, я пробовал много вещей, которые я видел здесь, но ничего не работает, к сожалению.

Ответ 1

У меня тоже есть это, но я использовал gradle для запуска сонара для sonarcloud.io, как только я включил --stacktrace и --debug, из журналов я получил эту ошибку, потому что мои учетные данные не распознается сервером сонара. Я дважды проверил их, и после изменения правильных учетных данных все прошло нормально.

Поэтому, помимо попытки запустить его с помощью -X, как предлагается получить дополнительную информацию, я бы посоветовал вам также попытаться дважды проверить ваши учетные данные.

Ответ 2

У меня была такая же проблема, когда я пытался настроить проверки запросов на извлечение для Sonarqube на Github. Учетные данные были правильными в моем случае, но я давал sonar.github.repository=myorg:myrepository и это вызывало эту ошибку. Я исправил это, изменив его на sonar.github.repository=myorg/myrepository

Может быть, это может помочь кому-то...

Ответ 3

У меня была точно такая же ошибка, когда я пытался запустить анализ гидролокатора изнутри Дженкинса, после нескольких часов поиска я понял, что проблема связана с определением пути.

В файле sonar-project.properties или в разделе конфигурации SonarQube в разделе конфигурации вашего проекта убедитесь, что свойство sonar.sources определяет путь с использованием прямой косой черты (/)

свойство должно быть определено так: sonar.sources = D: /software/jenkins/JenkinsHome/workspace/test_jenkins

и НЕ так: sonar.sources = D:\software\jenkins\JenkinsHome\workspace\test_jenkins

Ответ 4

Это может быть связано с тем, что владелец каталога проекта и владелец sonar-scanner разные, попробуйте предоставить 755 каталогу проекта, чтобы sonar-scanner мог получить к нему доступ.

Ответ 5

Я тоже столкнулся с этой проблемой, но я могу решить, удалив внешний плагин SonarQube, загруженный с рынка. Я не уверен, может ли это решить вашу проблему, но надеюсь, что это поможет вам.