Я запускаю исключение nullpointer при запуске анализа проекта java.SonarQube Nullpointer при анализе, отсутствующих параметрах полей или правил
Условие, которое вызывает сбой анализа, происходит только при активации определенных правил в профиле качества. В частности, любое правило, которое имеет параметр, который вы можете переопределить, вызывает сбой nullpointer. Он не работает, если я предоставляю значение переопределения или если параметр оставлен по умолчанию.
Следует отметить, что я могу получить успешный анализ для завершения, если эти особые правила дезактивированы в профиле качества. Это похоже только на некоторые правила, которые имеют параметры.
Я могу реплицировать эту ошибку Nullpointer как сонарником, так и плагином org.sonarqube gradle (v 1.0). Поэтому я подозреваю, что это не проблема с бегуном или плагином, но проблема с настройкой сервера SonarQube и/или базы данных.
Проблема в том, что я не знаю, как это сделать и решить эту проблему. База данных SonarQube не документирована (что я знаю) Я подозреваю, что в базе данных что-то может отсутствовать, но я даже не уверен, где они могут быть.
Любые предложения о том, где я могу посмотреть?
Версии:
SonarQube 4.5.2
SonarQube Runner 2,4
Java 1.8.0_40 Корпорация Oracle (64-разрядная версия)
Mac OS X 10.10.4 x86_64
Вот трассировка стека ошибка:
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 1:43.316s
Final Memory: 27M/635M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
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:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.NullPointerException
at org.sonar.api.batch.rule.Checks.getField(Checks.java:180)
at org.sonar.api.batch.rule.Checks.configureFields(Checks.java:167)
at org.sonar.api.batch.rule.Checks.instantiate(Checks.java:152)
at org.sonar.api.batch.rule.Checks.addAnnotatedChecks(Checks.java:127)
at org.sonar.java.SonarComponents.registerTestCheckClasses(SonarComponents.java:128)
at org.sonar.plugins.java.JavaSquidSensor.analyse(JavaSquidSensor.java:82)
at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:79)
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:70)
at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:119)
at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:194)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:93)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:78)
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:233)
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:228)
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:221)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:93)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:78)
at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:64)
at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:51)
at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:125)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:93)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:78)
at org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:173)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48)
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:497)
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)
... 9 more
Из-за ошибки, скорее всего, это проблема с плагином. Какие плагины вы установили. Какой из них связан с правилами, которые вы активируете для воспроизведения ошибки? –
Это звучит как проблема в java-плагине. Можете ли вы рассказать нам, какую версию плагина java вы используете? Можете ли вы попробовать с последней версией (3.4)? – benzonico
Благодарим за ответ, вот установленные плагины: [Java [java] 3.3. Механизм правил SonarQube] [Checkstyle [checkstyle] \t 2.3] [клевер [клевер] \t 3.0] [Cobertura [Cobertura] 1.6.3] [FindBugs [FindBugs] \t 3.2] \t [Java [Java] \t 3.3] \t [JIRA [JIRA] 1.2] \t [LDAP [LDAP ] 1.4] [PMD [pmd] \t 2.3] –