SonarQube Scanner执行期间发生错误-非法参数异常 [英] Error during SonarQube Scanner execution - Illegal argument exception

查看:1397
本文介绍了SonarQube Scanner执行期间发生错误-非法参数异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将SonarQube 6.1与MSBuild.SonarQube.Runner-2.2.0.24安装在一起,以分析C#解决方案.运行分析时,出现以下错误:

I installed SonarQube 6.1 with MSBuild.SonarQube.Runner-2.2.0.24 to analyse a C# solution. When I run an analysis, I get the following error:

警告:SCM提供程序自动检测失败.没有SCM提供者声称 支持这个项目.请使用sonar.scm.provider定义SCM 您的项目. 错误:SonarQube扫描仪执行期间发生错误 java.lang.IllegalArgumentException:开始指针[line = 90, lineOffset = 89]应该在结束指针[line = 90,lineOffset = 89]之前 在 org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:145) 在 org.sonar.api.batch.fs.internal.DefaultInputFile.newRangeValidPointers(DefaultInputFile.java:254) 在 org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:238) 在 org.sonarsource.dotnet.shared.plugins.AbstractSensor $ SarifParserCallbackImplementation.onIssue(AbstractSensor.java:144) 在 org.sonarsource.dotnet.shared.sarif.SarifParser01And04.handleAnalysisTargetElement(SarifParser01And04.java:109) 在 org.sonarsource.dotnet.shared.sarif.SarifParser01And04.handleIssue(SarifParser01And04.java:73) 在 org.sonarsource.dotnet.shared.sarif.SarifParser01And04.handleIssues(SarifParser01And04.java:55) 在 org.sonarsource.dotnet.shared.sarif.SarifParser01And04.parse(SarifParser01And04.java:43) 在 org.sonar.plugins.csharp.CSharpSensor.importRoslynReport(CSharpSensor.java:183) 在 org.sonar.plugins.csharp.CSharpSensor.executeInternal(CSharpSensor.java:118) 在org.sonar.plugins.csharp.CSharpSensor.execute(CSharpSensor.java:85) 在 org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53) 在 org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57) 在 org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49) 在 org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78) 在 org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:182) 在 org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) 在 org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) 在 org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:247) 在 递归地org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:242) 在 递归地org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:240) 在 org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:232) 在 org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) 在 org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) 在org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47)处 org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86) 在 org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) 在 org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) 在 org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:115) 在org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:118)处 org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)位于 sun.reflect.DelegatingMethodAccessorImpl.invoke(来源未知) java.lang.reflect.Method.invoke(来源未知) org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) 在com.sun.proxy.$ Proxy0.execute(未知来源)处 org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233) 在 org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151) 在org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110)在 org.sonarsource.scanner.cli.Main.execute(Main.java:74)在 org.sonarsource.scanner.cli.Main.main(Main.java:61)错误:错误: 使用-X开关重新运行SonarQube Scanner以启用完整调试 记录. SonarQube扫描仪未成功完成 08:42:09.074后处理失败.退出代码:1

WARN: SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project. ERROR: Error during SonarQube Scanner execution java.lang.IllegalArgumentException: Start pointer [line=90, lineOffset=89] should be before end pointer [line=90, lineOffset=89] at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:145) at org.sonar.api.batch.fs.internal.DefaultInputFile.newRangeValidPointers(DefaultInputFile.java:254) at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:238) at org.sonarsource.dotnet.shared.plugins.AbstractSensor$SarifParserCallbackImplementation.onIssue(AbstractSensor.java:144) at org.sonarsource.dotnet.shared.sarif.SarifParser01And04.handleAnalysisTargetElement(SarifParser01And04.java:109) at org.sonarsource.dotnet.shared.sarif.SarifParser01And04.handleIssue(SarifParser01And04.java:73) at org.sonarsource.dotnet.shared.sarif.SarifParser01And04.handleIssues(SarifParser01And04.java:55) at org.sonarsource.dotnet.shared.sarif.SarifParser01And04.parse(SarifParser01And04.java:43) at org.sonar.plugins.csharp.CSharpSensor.importRoslynReport(CSharpSensor.java:183) at org.sonar.plugins.csharp.CSharpSensor.executeInternal(CSharpSensor.java:118) at org.sonar.plugins.csharp.CSharpSensor.execute(CSharpSensor.java:85) at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53) at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57) at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49) at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:182) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:247) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:242) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:240) at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:232) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47) at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:115) at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:118) at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62) 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.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) at com.sun.proxy.$Proxy0.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.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110) at org.sonarsource.scanner.cli.Main.execute(Main.java:74) at org.sonarsource.scanner.cli.Main.main(Main.java:61) ERROR: ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging. The SonarQube Scanner did not complete successfully 08:42:09.074 Post-processing failed. Exit code: 1

当我使用错误消息中建议的-X启动SonarQube扫描仪时,得到以下信息:

When I start the SonarQube Scanner with the -X like it was recommended in the error message, I get this:

2016-11-14T14:33:27.2720044Z ##[error]15:33:27.238  Unrecognized command line argument: -X
2016-11-14T14:33:27.2720044Z ##[error]15:33:27.261  Expecting at least the following command line argument:
2016-11-14T14:33:27.2730045Z ##[error]- SonarQube project key
2016-11-14T14:33:27.2730045Z ##[error]When connecting to a SonarQube server earlier than version 6.1, the following command line arguments are also required:
2016-11-14T14:33:27.2740046Z ##[error]- SonarQube project name
2016-11-14T14:33:27.2740046Z ##[error]- SonarQube project version
2016-11-14T14:33:27.2750047Z ##[error]The full path to a settings file can also be supplied. If it is not supplied, the exe will attempt to locate a default settings file in the same directory as the SonarQube Scanner for MSBuild.
2016-11-14T14:33:27.2750047Z ##[error]15:33:27.261  Pre-processing failed. Exit code: 1

我通过以下方式启动扫描仪:

I start the scanner with:

SonarQube.Scanner.MSBuild.exe begin /k:ProjectKey /n:ProjectName /v:4.0.70 

结束命令是

SonarQube.Scanner.MSBuild.exe end

确定在结束之前调用开始. 有什么问题吗?

Start is definively called before end. What could be wrong?

推荐答案

我也遇到了同样的麻烦,这可能是由于未使用UTF-8或启用BOM的UTF-8编码引起的,请参见此处以供参考:

I've stumbled in the same trouble and it could be caused by a not UTF-8 or a BOM enabled UTF-8 encoding, see here for reference:

使用非UTF-8编码分析包含某些C#源文件的Visual Studio解决方案失败

作为可能的等待更新的WA,请尝试将源编码强制为UTF-8,如果还不够,请尝试将源显式转换为无BOM的UTF-8编码.

As a possible WA waiting for a fix, try to force source encoding to UTF-8 and, if not enough, to explicitly convert your sources to BOM-less UTF-8 encoding.

这篇关于SonarQube Scanner执行期间发生错误-非法参数异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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