我正在使用 sonarqube (版本 5.6.7 )和声纳扫描仪(版本 3.0.3.778 )用于分析一些文件。 在这些文档中,还有 .xml 和 .xsd 文件,其中包含 UTF-16 。
当我从命令行启动sonar-scanner
命令时,使用此配置
#----- Default SonarQube server
sonar.host.url=http://localhost:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-16
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=My project 1
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# This property is optional if sonar.modules is set.
sonar.sources=.
sonar.language=xml
我获得了这个例外:
sonar-scanner -Dproject.settings=C:\files\sonar-scanner.properties
INFO: Scanner configuration file: C:\SonarQube\sonar-scanner-3.0.3.778-windows\bin\..\conf\sonar-scanner.properties
INFO: Project root configuration file: C:\files\sonar-scanner.properties
INFO: SonarQube Scanner 3.0.3.778
INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
INFO: Windows 7 6.1 amd64
INFO: User cache: C:\Users\fan\.sonar\cache
INFO: Load global repositories
INFO: Load global repositories (done) | time=152ms
INFO: User cache: C:\Users\fan\.sonar\cache
INFO: Load plugins index
INFO: Load plugins index (done) | time=12ms
INFO: SonarQube server 5.6.7
INFO: Default locale: "it_IT", source code encoding: "UTF-16"
INFO: Process project properties
INFO: Load project repositories
INFO: Load project repositories (done) | time=36ms
INFO: Load quality profiles
INFO: Load quality profiles (done) | time=308ms
INFO: Load active rules
INFO: Load active rules (done) | time=1264ms WARN: SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.
INFO: Publish mode
INFO: Scan My project 1
INFO: Language is forced to xml
INFO: Load server rules
INFO: Load server rules (done) | time=234ms
INFO: Base dir: C:\files INFO: Working dir: C:\files\.scannerwork
INFO: Source paths: .
INFO: Source encoding: UTF-16, default locale: it_IT
INFO: Index files INFO: 1 files indexed INFO: Quality profile for xml: Sonar way
INFO: JaCoCoSensor: JaCoCo report not found : C:\files\target\jacoco.exec INFO: JaCoCoItSensor: JaCoCo IT report not found: C:\files\target\jacoco-it.exec
INFO: Sensor Lines Sensor
INFO: Sensor Lines Sensor (done) | time=21ms
INFO: Sensor SCM Sensor
INFO: No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.
INFO: Sensor SCM Sensor (done) | time=5ms INFO: Sensor XML Sensor
INFO: EXECUTION FAILURE
INFO: Total time: 5.391s INFO: Final Memory: 45M/255M
ERROR: Error during SonarQube Scanner execution org.sonar.squidbridge.api.AnalysisException: Unable to analyse file C:/files/office.xsd
at org.sonar.plugins.xml.XmlSensor.processException(XmlSensor.java:195)
at org.sonar.plugins.xml.XmlSensor.execute(XmlSensor.java:158)
at org.sonar.batch.sensor.SensorWrapper.analyse(SensorWrapper.java:57)
at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58)
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50)
at org.sonar.batch.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:83)
at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:192)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:241)
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:236)
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:226)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.batch.task.ScanTask.execute(ScanTask.java:47)
at org.sonar.batch.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.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:106)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
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:498)
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:123)
at org.sonarsource.scanner.cli.Main.execute(Main.java:77)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.lang.IllegalArgumentException: Line 2 is out of range for file [moduleKey=my:project, relative=office.xsd, basedir=C:\files]. File has 1 lines.
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:148)
at org.sonar.batch.DefaultFileLinesContext.checkLineRange(DefaultFileLinesContext.java:76)
at org.sonar.batch.DefaultFileLinesContext.setIntValue(DefaultFileLinesContext.java:69)
at org.sonar.plugins.xml.LineCounter.saveMeasures(LineCounter.java:53)
at org.sonar.plugins.xml.LineCounter.analyse(LineCounter.java:74)
at org.sonar.plugins.xml.XmlSensor.computeLinesMeasures(XmlSensor.java:90)
at org.sonar.plugins.xml.XmlSensor.execute(XmlSensor.java:153)
... 30 more ERROR: ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
与xml文件相同,始终使用UTF-16编码(当然这些文件不只有一行!!)。
SonarQube正在使用 sonar-xml-plugin 版本 1.4.3.1027 。
如何解决??