Sonarqube Sonar runner在多模块项目(一个在C#中,另一个在JavaScript中)上退出时出现空指针异常

Sonarqube Sonar runner在多模块项目(一个在C#中,另一个在JavaScript中)上退出时出现空指针异常,sonarqube,sonar-runner,Sonarqube,Sonar Runner,我正在尝试在sonar中配置一个多模块项目,以覆盖应用程序的所有方面(主要是C#和JavaScript部分) 如果我只在C#部件上运行它(不使用多模块体系结构),它就可以正常工作。如果我运行不同的模块,它就会中断 我选择在不同的模块之间拆分配置。(将所有配置放在同一个文件中会得到相同的结果) 下面是3个配置 主要的一点是: # Project identification sonar.projectKey=XXXXX sonar.projectVersion=XXXXX sonar.projec

我正在尝试在sonar中配置一个多模块项目,以覆盖应用程序的所有方面(主要是C#和JavaScript部分)

如果我只在C#部件上运行它(不使用多模块体系结构),它就可以正常工作。如果我运行不同的模块,它就会中断

我选择在不同的模块之间拆分配置。(将所有配置放在同一个文件中会得到相同的结果)

下面是3个配置

主要的一点是:

# Project identification
sonar.projectKey=XXXXX
sonar.projectVersion=XXXXX
sonar.projectName=XXXXXX

# Info required for Sonar 
sonar.sourceEncoding=UTF-8
sonar.sources=.
sonar.modules = csharp, javascript

# C#
csharp.sonar.projectBaseDir=path/to/slnFolder

# JS
javascript.sonar.projectBaseDir=path/to/js/files
用于C的那个#

还有javascript:

# JS
sonar.projectName=3DSaphi JS
sonar.language=js
我最终遇到了一个例外(这似乎与dotnet模块有关):

因此,我的问题是:

我想做的事可能吗? 如果是,我能做些什么来解决这个问题


提前谢谢。

你找到解决方案了吗?没有,我没有。我只是用了一种不同的方法。为C#和JS运行一个声纳实例。虽然不漂亮,但它成功了。在同一次运行中管理不同语言的模块也是新的。您使用的声纳版本是什么?我看到sonarqube 5.0上有该模块,它是当时的最新版本(我相信是3.3)。该功能当时刚刚推出(请参阅)。在同一次运行中管理不同语言的模块也是新的。您使用的声纳版本是什么?我看到该模块在sonarqube 5.0上可用
# JS
sonar.projectName=3DSaphi JS
sonar.language=js
Exception in thread "main" org.sonar.runner.RunnerException: java.lang.NullPoint
erException
        at org.sonar.runner.Runner.delegateExecution(Runner.java:288)
        at org.sonar.runner.Runner.execute(Runner.java:151)
        at org.sonar.runner.Main.execute(Main.java:84)
        at org.sonar.runner.Main.main(Main.java:56)
Caused by: java.lang.NullPointerException
        at org.sonar.plugins.dotnet.api.sensor.AbstractRegularDotNetSensor.assem
bliesFound(AbstractRegularDotNetSensor.java:90)
        at org.sonar.plugins.dotnet.api.sensor.AbstractRegularDotNetSensor.shoul
dExecuteOnProject(AbstractRegularDotNetSensor.java:72)
        at org.sonar.plugins.dotnet.api.sensor.AbstractRuleBasedDotNetSensor.sho
uldExecuteOnProject(AbstractRuleBasedDotNetSensor.java:51)
        at org.sonar.api.batch.BatchExtensionDictionnary.shouldKeep(BatchExtensi
onDictionnary.java:109)
        at org.sonar.api.batch.BatchExtensionDictionnary.getFilteredExtensions(B
atchExtensionDictionnary.java:99)
        at org.sonar.api.batch.BatchExtensionDictionnary.select(BatchExtensionDi
ctionnary.java:57)
        at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:5
7)
        at org.sonar.batch.phases.Phases.execute(Phases.java:97)
        at org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:12
8)
        at org.sonar.batch.bootstrap.Module.start(Module.java:83)
        at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:114)
        at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:109)
        at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:104)
        at org.sonar.batch.bootstrap.Module.start(Module.java:83)
        at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.jav
a:121)
        at org.sonar.batch.bootstrap.Module.start(Module.java:83)
        at org.sonar.batch.Batch.execute(Batch.java:104)
        at org.sonar.runner.internal.batch.Launcher.executeBatch(Launcher.java:6
9)
        at org.sonar.runner.internal.batch.Launcher.execute(Launcher.java:61)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.sonar.runner.Runner.delegateExecution(Runner.java:285)
        ... 3 more