SonarQube无法分析文件(NullPointerException) [英] SonarQube is unable to analyze file (NullPointerException)

查看:3043
本文介绍了SonarQube无法分析文件(NullPointerException)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的Java 8项目中有这样的东西:

  import java.util。 function.Function; 

public class Foo {

private static final函数< Object,Object> FOO = o - > {
return null;
};
}

每次运行SonarQube分析时,都会出现NullPointerException



  mvn clean install 
mvn sonar:sonar

异常:

  SonarQube无法分析文件:'/ Users / rzueger /Development/experimental/gitautomergetest/myclone/src/main/java/ch/rallo/automerge/Foo.java'
在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
在org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedB在生命周期中java:320)
在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
在org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
在org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
在org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
在太阳.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在java.lang.reflect.Method.invoke(Method.java:497)
在org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
在org $ code $。 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
在org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
导致通过:org.apache.maven.plugin.MojoExecutionException:SonarQube无法分析文件:'/Users/rzueger/Development/experimental/gitautomergetest/myclone/src/main/java/ch/rallo/automerge/Foo.java'
在org.codehaus.mojo.sonar.bootstrap.ExceptionHandling.handle(ExceptionHandling.java:41)
在org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:139)
在org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:132)
在org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
...更多
导致:org.sonar.squidbridge.api.AnalysisException:SonarQube无法分析文件:'/ Users / rzueger / D开发/实验/ gitautomergetest / myclone / src / main / java / ch / rallo / automerge / Foo.java'
在org.sonar.java.ast.AstScanner.simpleScan(AstScanner.java:114)
在org.sonar.java.ast.AstScanner.scan(AstScanner.java:75)
在org.sonar.java.JavaSquid.scanSources(JavaSquid.java:122)
在org.sonar。 java.JavaSquid.scan(JavaSquid.java:115)
在org.sonar.plugins.java.JavaSquidSensor.analyse(JavaSquidSensor.java:92)
在org.sonar.batch.phases.SensorsExecutor。 executeSensor(SensorsExecutor.java:59)
在org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:51)
在org.sonar.batch.phases.DatabaseModePhaseExecutor.execute(DatabaseModePhaseExecutor。 java:120)
在org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:264)
在org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
在org.sonar.api.platform.ComponentContainer.execute(ComponentContai ner.java:77)
在org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:235)
在org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java: 230)
在org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:220)
在org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
在org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
在org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57)
在org .sonar.batch.scan.ScanTask.execute(ScanTask.java:45)
在org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:135)
在org.sonar.api .platform.ComponentContainer.startComponents(ComponentContainer.java:92)
在org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
在org.sonar.batch.bootstrap.GlobalContainer .executeTask(GlobalContainer.java:158)
在org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95)
在org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
在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)
在java.lang.reflect.Method.invoke(Method.java:497)
在org.sonar.runner .impl.BatchLauncher $ 1.delegateExecution(BatchLauncher.java:87)
在org.sonar.runner.impl.BatchLauncher $ 1.run(BatchLauncher.java:75)
在java.security.AccessController.doPrivileged (Native Method)
在org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
在org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
在org.sonar.runner.api.EmbeddedRunner.doExecute( EmbeddedRunner.java:102)
在org.sonar.runner.api.Runner.execute(Runner.java:100)
在org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper。 java:135)
... 22更多
导致:java.lang.NullPointerException
在org.sonar.java.checks.ReturnEmptyArrayyNotNullCheck.visitNode(ReturnEmptyArrayyNotNullCheck.java:149)
在org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:95)
在org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
在org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
在org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
在org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
在org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
在org.sonar.java.ast。访客.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
在org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
在org.sonar.java.ast。访客.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
在org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
在org.sonar.java.ast。访客.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
在org.sonar.java.ast.visitors.SubscriptionVisitor.scanTree(SubscriptionVisitor.java:73)
在org.sonar.java.ast。访客.SubscriptionVisitor.scanFile(SubscriptionVisitor.java:67)
在org.sonar.java.checks.ReturnEmptyArrayyNotNullCheck.scanFile(ReturnEmptyArrayyNotNullCheck.java:130)
在org.sonar.java.model.VisitorsBridge。 visitFile(VisitorsBridge.java:122)
在com.sonar.sslr.impl.ast.AstWalker.walkAndVisit(AstWalker.java:67)
在org.sonar.java.ast.AstScanner.simpleScan( AstScanner.java :107)
... 58更多

这是SonarQube中的一个已知错误?找不到有关此问题的任何错误报告。我正在使用SonarQube 5.1.2。

解决方案

这个bug应该已经在sonar-java-plugin 3.1中修复了。
https://jira.sonarsource.com/browse/SONARJAVA-986


I have something like this in my Java 8 project:

import java.util.function.Function;

public class Foo {

    private static final Function<Object, Object> FOO = o -> {
        return null;
    };
}

Every time I'm running SonarQube analysis, it fails with a NullPointerException

mvn clean install
mvn sonar:sonar

Exception:

SonarQube is unable to analyze file : '/Users/rzueger/Development/experimental/gitautomergetest/myclone/src/main/java/ch/rallo/automerge/Foo.java'
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: SonarQube is unable to analyze file : '/Users/rzueger/Development/experimental/gitautomergetest/myclone/src/main/java/ch/rallo/automerge/Foo.java'
    at org.codehaus.mojo.sonar.bootstrap.ExceptionHandling.handle(ExceptionHandling.java:41)
    at org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:139)
    at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:132)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
Caused by: org.sonar.squidbridge.api.AnalysisException: SonarQube is unable to analyze file : '/Users/rzueger/Development/experimental/gitautomergetest/myclone/src/main/java/ch/rallo/automerge/Foo.java'
    at org.sonar.java.ast.AstScanner.simpleScan(AstScanner.java:114)
    at org.sonar.java.ast.AstScanner.scan(AstScanner.java:75)
    at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:122)
    at org.sonar.java.JavaSquid.scan(JavaSquid.java:115)
    at org.sonar.plugins.java.JavaSquidSensor.analyse(JavaSquidSensor.java:92)
    at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:59)
    at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:51)
    at org.sonar.batch.phases.DatabaseModePhaseExecutor.execute(DatabaseModePhaseExecutor.java:120)
    at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:264)
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
    at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:235)
    at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:230)
    at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:220)
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
    at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57)
    at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45)
    at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:135)
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
    at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:158)
    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)
    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.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:135)
    ... 22 more
Caused by: java.lang.NullPointerException
    at org.sonar.java.checks.ReturnEmptyArrayyNotNullCheck.visitNode(ReturnEmptyArrayyNotNullCheck.java:149)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:95)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:113)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:97)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.scanTree(SubscriptionVisitor.java:73)
    at org.sonar.java.ast.visitors.SubscriptionVisitor.scanFile(SubscriptionVisitor.java:67)
    at org.sonar.java.checks.ReturnEmptyArrayyNotNullCheck.scanFile(ReturnEmptyArrayyNotNullCheck.java:130)
    at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:122)
    at com.sonar.sslr.impl.ast.AstWalker.walkAndVisit(AstWalker.java:67)
    at org.sonar.java.ast.AstScanner.simpleScan(AstScanner.java:107)
    ... 58 more

Is this a known bug in SonarQube? Couldn't find any bug report concerning this problem. I'm using SonarQube 5.1.2.

解决方案

This bug should have been fixed in sonar-java-plugin 3.1. https://jira.sonarsource.com/browse/SONARJAVA-986

这篇关于SonarQube无法分析文件(NullPointerException)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆