SonarQube 5.1-Gradle sonarRunner任务-找不到引用的规则布尔倒置;也许规则名称错了?

SonarQube 5.1-Gradle sonarRunner任务-找不到引用的规则布尔倒置;也许规则名称错了?,sonarqube,profile,illegalargumentexception,rule,sonarqube5.1,Sonarqube,Profile,Illegalargumentexception,Rule,Sonarqube5.1,我有SonarQube 5.1版本,Jenkins 1.628和Gradle 2.3 我能够成功地运行Gradle构建(包括单元测试)+非统一测试(在Tomcat之后)+获得组合代码覆盖率并将所有数据发布到SonarQube服务器,直到昨天我去SonarQube并添加了一个新的手动规则“创建手动规则”。在规则>按钮“创建手动规则”下 创建规则后,我可以在搜索框(左上角)中看到新规则。接下来,我在SonarWay-Java配置文件中激活了新的手动规则(在右上角的批量更改按钮下),以了解它会做什么。

我有SonarQube 5.1版本,Jenkins 1.628和Gradle 2.3

我能够成功地运行Gradle构建(包括单元测试)+非统一测试(在Tomcat之后)+获得组合代码覆盖率并将所有数据发布到SonarQube服务器,直到昨天我去SonarQube并添加了一个新的手动规则“创建手动规则”。在规则>按钮“创建手动规则”下

创建规则后,我可以在搜索框(左上角)中看到新规则。接下来,我在SonarWay-Java配置文件中激活了新的手动规则(在右上角的批量更改按钮下),以了解它会做什么。它没有出错,并且成功地更新了某些内容/配置文件

这样做之后,当我运行分析(使用Gradle的sonarRunner任务)时,它失败了,出现了以下错误。即使我删除了那个手动规则,我仍然会得到同样的错误。似乎我没有在删除规则之前先从SonarWay Java概要文件(默认)中停用规则

您知道如何解决以下错误,并在SonarQube中仍然使用SonarWay Java概要文件(在质量概要文件下)来分析Java项目吗

(PS:作为一种解决方法,我已经将Java的默认配置文件(Java配置文件)设置为FindBubgs配置文件之一,现在错误已经消失)

完整的详细日志如下:

17:44:42 22:51:04.548 INFO  - Sensor VersionEventsSensor (done) | time=17ms
17:44:42 22:51:04.548 INFO  - Sensor PmdSensor
17:44:42 22:51:04.550 INFO  - Execute PMD 5.4.0...
17:44:42 22:51:04.566 INFO  - Java version: 1.8
17:44:42 22:51:04.616 INFO  - PMD configuration: /production/home/c400093/JSlaves/sagrdev3sb10_1/workspace/TCCProcedureSvc/build/sonar/pmd.xml
17:44:43 22:51:05.161 INFO  - Execute PMD 5.4.0 done: 611 ms
17:44:43 INFO: ------------------------------------------------------------------------
17:44:43 INFO: EXECUTION FAILURE
17:44:43 INFO: ------------------------------------------------------------------------
17:44:43 Total time: 11.407s
17:44:43 Final Memory: 44M/2002M
17:44:43 INFO: ------------------------------------------------------------------------
17:44:43 ERROR: Error during Sonar runner execution
17:44:43 ERROR: Unable to execute Sonar
17:44:43 ERROR: Caused by: java.lang.IllegalArgumentException: Unable to find referenced rule BooleanInversion; perhaps the rule name is mispelled?
17:44:43 ERROR: Caused by: Unable to find referenced rule BooleanInversion; perhaps the rule name is mispelled?
17:44:43 ERROR: 
17:44:43 ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with the -e switch.
17:44:43 ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
17:44:43 :sonarRunner FAILED
17:44:43 
17:44:43 FAILURE: Build failed with an exception.
17:44:43 
17:44:43 * What went wrong:
17:44:43 Execution failed for task ':sonarRunner'.
17:44:43 > Process 'command '/production/jdk1.8.0_45/bin/java'' finished with non-zero exit value 1
17:44:43 
17:44:43 * Try:
17:44:43 Run with --info or --debug option to get more log output.
17:44:43 
17:44:43 * Exception is:
17:44:43 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':sonarRunner'.
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
17:44:43    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
17:44:43    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
17:44:43    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
17:44:43    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
17:44:43    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
17:44:43    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
17:44:43    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:306)
17:44:43    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
17:44:43    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
17:44:43    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
17:44:43    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
17:44:43    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
17:44:43    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
17:44:43    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
17:44:43    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
17:44:43    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
17:44:43    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
17:44:43    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
17:44:43    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
17:44:43    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
17:44:43    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
17:44:43    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
17:44:43    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
17:44:43    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
17:44:43    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
17:44:43    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
17:44:43    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
17:44:43    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
17:44:43    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:169)
17:44:43    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
17:44:43    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
17:44:43    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
17:44:43    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
17:44:43    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
17:44:43    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
17:44:43    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
17:44:43    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
17:44:43    at org.gradle.launcher.Main.doAction(Main.java:33)
17:44:43    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
17:44:43    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
17:44:43    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
17:44:43    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
17:44:43 Caused by: org.gradle.process.internal.ExecException: Process 'command '/production/jdk1.8.0_45/bin/java'' finished with non-zero exit value 1
17:44:43    at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:365)
17:44:43    at org.gradle.sonar.runner.tasks.SonarRunner.run(SonarRunner.java:62)
17:44:43    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
17:44:43    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:218)
17:44:43    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
17:44:43    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
17:44:43    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
17:44:43    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
17:44:43    ... 44 more
17:44:43 
17:44:43 
17:44:43 BUILD FAILED
17:44:43 
17:44:43 Total time: 17.4 secs
17:44:43 Build step 'Invoke Gradle script' changed build result to FAILURE

要解决此问题,请停用PMD规则布尔反转。sonarqube 5.1中似乎不推荐使用它,如果您注意到以下行,我认为PMD是成功的:17:37:50 22:44:12.571信息-执行PMD 5.4.0完成:509 msPMD是成功的,但导入PMD会导致sonarqube不成功。是否正确安装了/production/jdk1.8.0_45/bin/java?sonaqube使用哪个版本的java?@R3104d是的,我确实看到了/production/jdk1.8.0_45/bin/java(每天使用它)。同样的版本正在被用于运行Gradle的SonaRunner任务。你是说“PMD插件”版本(在SonarQube 5.1中又称我的实例)与Java8.x版本不兼容吗?我不这么认为,因为它成功地工作了近4个月。在我禁用“SonarWay-Profile”并使用另一个配置文件(质量不高)后,sonarRunner任务现在正在工作,但我试图找到的是,这一切都发生在我添加了“新”手动规则并在“SonarWay-Profile”中激活它之后,从那时起,我得到了这个。@JulienH.-SonarSourceTeam,我可以尝试停用PMD规则布尔反转,但仍然很好奇为什么在我添加新的“手动”规则并在此配置文件中激活该新角色之前,所有内容都在SonarWay-Java配置文件中工作。如果您是说问题只存在于PMD规则布尔反转,那么您不认为它会在之前(即在我创建手动规则并激活该规则之前)失败(sonarRunner任务或sonar分析)吗?
17:44:42 22:51:04.548 INFO  - Sensor VersionEventsSensor (done) | time=17ms
17:44:42 22:51:04.548 INFO  - Sensor PmdSensor
17:44:42 22:51:04.550 INFO  - Execute PMD 5.4.0...
17:44:42 22:51:04.566 INFO  - Java version: 1.8
17:44:42 22:51:04.616 INFO  - PMD configuration: /production/home/c400093/JSlaves/sagrdev3sb10_1/workspace/TCCProcedureSvc/build/sonar/pmd.xml
17:44:43 22:51:05.161 INFO  - Execute PMD 5.4.0 done: 611 ms
17:44:43 INFO: ------------------------------------------------------------------------
17:44:43 INFO: EXECUTION FAILURE
17:44:43 INFO: ------------------------------------------------------------------------
17:44:43 Total time: 11.407s
17:44:43 Final Memory: 44M/2002M
17:44:43 INFO: ------------------------------------------------------------------------
17:44:43 ERROR: Error during Sonar runner execution
17:44:43 ERROR: Unable to execute Sonar
17:44:43 ERROR: Caused by: java.lang.IllegalArgumentException: Unable to find referenced rule BooleanInversion; perhaps the rule name is mispelled?
17:44:43 ERROR: Caused by: Unable to find referenced rule BooleanInversion; perhaps the rule name is mispelled?
17:44:43 ERROR: 
17:44:43 ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with the -e switch.
17:44:43 ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
17:44:43 :sonarRunner FAILED
17:44:43 
17:44:43 FAILURE: Build failed with an exception.
17:44:43 
17:44:43 * What went wrong:
17:44:43 Execution failed for task ':sonarRunner'.
17:44:43 > Process 'command '/production/jdk1.8.0_45/bin/java'' finished with non-zero exit value 1
17:44:43 
17:44:43 * Try:
17:44:43 Run with --info or --debug option to get more log output.
17:44:43 
17:44:43 * Exception is:
17:44:43 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':sonarRunner'.
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
17:44:43    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
17:44:43    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
17:44:43    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
17:44:43    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
17:44:43    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
17:44:43    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
17:44:43    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:306)
17:44:43    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
17:44:43    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
17:44:43    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
17:44:43    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
17:44:43    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
17:44:43    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
17:44:43    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
17:44:43    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
17:44:43    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
17:44:43    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
17:44:43    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
17:44:43    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
17:44:43    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
17:44:43    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
17:44:43    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
17:44:43    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
17:44:43    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
17:44:43    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
17:44:43    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
17:44:43    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
17:44:43    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
17:44:43    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:169)
17:44:43    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
17:44:43    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
17:44:43    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
17:44:43    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
17:44:43    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
17:44:43    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
17:44:43    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
17:44:43    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
17:44:43    at org.gradle.launcher.Main.doAction(Main.java:33)
17:44:43    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
17:44:43    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
17:44:43    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
17:44:43    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
17:44:43 Caused by: org.gradle.process.internal.ExecException: Process 'command '/production/jdk1.8.0_45/bin/java'' finished with non-zero exit value 1
17:44:43    at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:365)
17:44:43    at org.gradle.sonar.runner.tasks.SonarRunner.run(SonarRunner.java:62)
17:44:43    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
17:44:43    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:218)
17:44:43    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
17:44:43    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
17:44:43    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
17:44:43    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
17:44:43    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
17:44:43    ... 44 more
17:44:43 
17:44:43 
17:44:43 BUILD FAILED
17:44:43 
17:44:43 Total time: 17.4 secs
17:44:43 Build step 'Invoke Gradle script' changed build result to FAILURE