当前位置: 首页 > 知识库问答 >
问题:

Gradle的SonarQube:组件不能为null

夏侯嘉荣
2023-03-14

我试图在Gradle多项目中使用SonarQube。我搞不懂发生了什么事!

  • sonarqube gradle插件版本为2.5,通过令牌与gradle服务器6.5对话。我已经证实他们彼此交谈过
  • Gradle项目正常编译,jacoco也成功地转换了所有子项目的所有代码

非常感谢任何指点。堆栈跟踪:

[rubin@eve adhub (issues/SAV-1083)]$ gradle sonarqube --stacktrace

Configure project :
BRANCH: issues/SAV-1083
project version from Git: 0.4.0-SNAPSHOT

Task :sonarqube
Metric 'public_documented_api_density' is an internal metric computed by SonarQube. Provided value is ignored.
Metric 'lines' is an internal metric computed by SonarQube. Provided value is ignored.
Metric 'public_documented_api_density' is an internal metric computed by SonarQube. Provided value is ignored.
Metric 'lines' is an internal metric computed by SonarQube. Provided value is ignored.
Metric 'test_success_density' is an internal metric computed by SonarQube. Provided value is ignored.
Coverage measure for metric 'lines_to_cover' should not be saved directly by a Sensor. Plugin should be updated to use SensorContext::newCoverage instead.
Coverage measure for metric 'uncovered_lines' should not be saved directly by a Sensor. Plugin should be updated to use SensorContext::newCoverage instead.
Coverage measure for metric 'coverage_line_hits_data' should not be saved directly by a Sensor. Plugin should be updated to use SensorContext::newCoverage instead.
Coverage measure for metric 'conditions_to_cover' should not be saved directly by a Sensor. Plugin should be updated to use SensorContext::newCoverage instead.
Coverage measure for metric 'uncovered_conditions' should not be saved directly by a Sensor. Plugin should be updated to use SensorContext::newCoverage instead.
Coverage measure for metric 'conditions_by_line' should not be saved directly by a Sensor. Plugin should be updated to use SensorContext::newCoverage instead.
Coverage measure for metric 'covered_conditions_by_line' should not be saved directly by a Sensor. Plugin should be updated to use SensorContext::newCoverage instead.


FAILURE: Build failed with an exception.

>

  • 出错的地方:任务': sonarqube'执行失败。

    Component can't be null
    

    尝试:使用--info或--debug选项运行以获得更多日志输出。

    例外情况是:

    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':sonarqube'.
         at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
         at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
         at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
         at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
         at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
         at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
         at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
         at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
         at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
         at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
         at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
         at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:242)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:95)
         at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:235)
         at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:224)
         at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:121)
         at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:77)
         at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:102)
         at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:96)
         at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:612)
         at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:567)
         at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:96)
         at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:57)
         at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:122)
         at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
         at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
         at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
         at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
         at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:46)
         at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
         at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
         at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:253)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:95)
         at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:170)
         at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:44)
         at org.gradle.initialization.DefaultGradleLauncher$1.run(DefaultGradleLauncher.java:122)
         at org.gradle.internal.work.DefaultWorkerLeaseService$2.execute(DefaultWorkerLeaseService.java:124)
         at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:116)
         at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:99)
         at org.gradle.launcher.exec.GradleBuildController.run(GradleBuildController.java:66)
         at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
         at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
         at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
         at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:95)
         at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
         at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
         at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:44)
         at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
         at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
         at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49)
         at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:51)
         at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)
         at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
         at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
         at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
         at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29)
         at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
         at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42)
         at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:50)
         at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
         at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
         at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
         at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
         at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
         at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
         at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
         at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
         at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
         at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
         at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
         at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
         at org.gradle.util.Swapper.swap(Swapper.java:38)
         at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
         at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
         at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
         at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
         at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
         at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
         at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
         at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
         at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
         at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
         at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
         at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
         at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
         at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:46)
         at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    Caused by: java.lang.IllegalArgumentException: Component can't be null
         at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:122)
         at org.sonar.api.batch.sensor.measure.internal.DefaultMeasure.on(DefaultMeasure.java:53)
         at org.sonar.scanner.sensor.DefaultSensorStorage.saveMeasure(DefaultSensorStorage.java:244)
         at org.sonar.scanner.index.DefaultIndex.addMeasure(DefaultIndex.java:153)
         at org.sonar.scanner.deprecated.DeprecatedSensorContext.saveMeasure(DeprecatedSensorContext.java:127)
         at org.sonar.plugins.jacoco.JaCoCoOverallSensor$OverallAnalyzer.saveMeasures(JaCoCoOverallSensor.java:101)
         at org.sonar.plugins.jacoco.AbstractAnalyzer.readExecutionData(AbstractAnalyzer.java:150)
         at org.sonar.plugins.jacoco.AbstractAnalyzer.analyse(AbstractAnalyzer.java:114)
         at org.sonar.plugins.jacoco.JaCoCoOverallSensor.analyse(JaCoCoOverallSensor.java:80)
         at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:88)
         at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:82)
         at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:68)
         at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)
         at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:179)
         at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144)
         at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:129)
         at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:261)
         at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:256)
         at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:254)
         at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:245)
         at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144)
         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:84)
         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:119)
         at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:116)
         at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
         at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
         at com.sun.proxy.$Proxy528.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.sonarqube.gradle.SonarQubeTask.run(SonarQubeTask.java:99)
         at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
         at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.doExecute(DefaultTaskClassInfoStore.java:141)
         at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
         at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
         at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:711)
         at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:694)
         at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
         at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:95)
         at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
         at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
         ... 96 more
    
  • 共有1个答案

    董权
    2023-03-14

    感谢安问我我的SonarJava插件是什么版本。

    安装的SonarJava插件是3.14。当我升级到4.12时,问题消失了。谢谢G.安!

     类似资料:
    • 我有一个用Lombok的@Data注释的类,在一个gradle项目中,使用Sonarqube和Jacoco插件。 源代码可在 github 上找到 我有一个本地运行的sonarqube服务器作为docker容器运行,开始如下: 我添加了一个“lombok.config”文件,要求它添加@lombok。根据文档中的“全局配置键”部分,为其生成的代码生成注释。 我有以下声纳状态配置。 当我第一次运行s

    • 我正在尝试运行sonar gradle插件,在运行测试后,我得到以下结果: 任务“:sonarqube”的执行失败。 字符串索引超出范围:-1 值得一提的是,我在OS X 10.10上安装了sonar qube gradle插件2.2.1版 编辑:这是我在日志中看到的: 当我在启用堆栈跟踪的情况下运行sonarqube时,我得到以下堆栈跟踪: 编辑:原来原因是Sonar Surefire库,更具体

    • 我在CentOS 7中使用yum安装了MariaDB。 SonarQube抛出此异常: 当我用版本10重新安装MariaDB时,SonarQube仍然会抛出相同的异常。 SonarQube-5.5如何检测MySQL版本? MariaDB 10的API与MySQL 5.6兼容,CentOS 7已经用MariaDB取代了MySQL。 为什么它不支持MariaDB 10?

    • 我有多项目Gradle脚本。我在根项目中添加了: Sonarqube显示正确的考试数量,但覆盖率为0。 我使用Gradle 3.0、Java 1.8.0_45、Sonarqube 6.1。 Gradle控制台显示许多“未找到类”消息。 Gradle控制台还显示消息: “报告路径不包含与测试-.*匹配的文件。xml:myPath\build\TEST results\TEST” ,这是正确的,因为该

    • 我正在詹金斯建立一个新的多模块梯度项目,并试图让sonarqube分析它,但我遇到了几个不兼容的问题,我还没有能够解决。 我正在考虑使用 null

    • 当我导入此接口并尝试调用方法时,它将失败,并出现以下错误: 我已经创建了一个intellij kotlin应用程序,它的工作是正确的。是新Kotlin gradle插件的bug吗?