SonarQube从6.4升级到6.5会破坏扫描仪 我在sonarQube6.4上,已升级到6.5 声纳扫描仪是3.0.3 现在,在升级之后,只要源路径中有java文件,扫描器就会失败。如果我不扫描java文件,一切正常 然而,如果我回滚USE6.4版本,一切正常,那么是否有任何回归?这是堆栈跟踪,当我使用-X命令运行scanner命令时。那么,在6.5中,提供所有已编译类的位置是否是一项任务,是否有办法忽略它

SonarQube从6.4升级到6.5会破坏扫描仪 我在sonarQube6.4上,已升级到6.5 声纳扫描仪是3.0.3 现在,在升级之后,只要源路径中有java文件,扫描器就会失败。如果我不扫描java文件,一切正常 然而,如果我回滚USE6.4版本,一切正常,那么是否有任何回归?这是堆栈跟踪,当我使用-X命令运行scanner命令时。那么,在6.5中,提供所有已编译类的位置是否是一项任务,是否有办法忽略它,sonarqube,sonarqube-scan,Sonarqube,Sonarqube Scan,04:56:21.218调试:传感器:JavaSquidSensor->SurefireSensor-> JacoSensor->SonarJavaXmlFileSensor->“php.ini”文件分析器 ->零覆盖传感器->CPD块索引器04:56:21.218信息:传感器JavaSquidSensor[java]04:56:21.558信息:配置的java源 版本(sonar.java.source):无04:56:21.565信息:JavaClasspath 初始化04:56:21.57

04:56:21.218调试:传感器:JavaSquidSensor->SurefireSensor-> JacoSensor->SonarJavaXmlFileSensor->“php.ini”文件分析器 ->零覆盖传感器->CPD块索引器04:56:21.218信息:传感器JavaSquidSensor[java]04:56:21.558信息:配置的java源 版本(sonar.java.source):无04:56:21.565信息:JavaClasspath 初始化04:56:21.570信息: ------------------------------------------------------------------------04:56:21.571信息:执行失败04:56:21.571信息: ------------------------------------------------------------------------04:56:21.571信息:总时间:6.545s 04:56:21.707信息:最终内存: 51M/1083M 04:56:21.707信息: ------------------------------------------------------------------------04:56:21.707错误:SonarQube扫描仪执行期间出错 org.sonar.squidbridge.api.AnalysisException:请提供 使用sonar.java.binaries属性创建项目的类 位于org.sonar.java.JavaClasspath.init(JavaClasspath.java:59) 位于org.sonar.java.AbstractJavaClasspath.getElements(AbstractJavaClasspath.java:281) 位于org.sonar.java.SonarComponents.getJavaClasspath(SonarComponents.java:141) 位于org.sonar.java.JavaSquid(JavaSquid.java:83) 位于org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:83) 位于org.sonar.scanner.sensor.SensorWrapper.analysis(SensorWrapper.java:53) 位于org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:88) 位于org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:82) 位于org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:68) 位于org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78) 位于org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:179) 位于org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144) 位于org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:129) 位于org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:261) 在org.sonar.scanner.scan.ProjectScanContainer.scanRecursive上(ProjectScanContainer.java:256) 位于org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:245) 位于org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144) 位于org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:129) 位于org.sonar.scanner.task.scantash.execute(scantash.java:47) 位于org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:84) 位于org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144) 位于org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:129) 位于org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:119) 位于org.sonar.batch.bootstrapper.batch.executeTask(batch.java:116) 位于org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:498) 位于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:123) 位于org.sonarsource.scanner.cli.Main.execute(Main.java:77) 在org.sonarsource.scanner.cli.Main.Main(Main.java:61)04:56:21.710调试:执行getVersion 04:56:21.711调试:执行 停止

当我使用6.4运行相同的程序时,它工作正常,我在控制台中看到的唯一警告是:

04:52:42.738警告:没有为分析源文件提供依赖项字节码,您可能会得到不太精确的结果。可以使用sonar.java.libraries属性提供字节码


错误消息显示:

Error during SonarQube Scanner execution org.sonar.squidbridge.api.AnalysisException:
Please provide compiled classes of your project with sonar.java.binaries property
除了
.java
文件之外,java传感器似乎还需要
.class
文件

你可以:

  • 将这些文件添加到分析中(顺便说一句,它将为您提供更有价值的声纳发现!)
  • 尝试添加和删除文件,找出是哪段代码导致了问题,并将其报告为Sonar Java bug

    • 即使是我在升级到最新的6.5版本后也面临同样的问题。但是在对Java插件进行降级(从4.12到4.11)后,它成功了。 希望它能帮助你

      SonarQube扫描仪执行期间出错 org.sonar.squidbridge.api.AnalysisException:请提供 使用sonar.java.binaries属性创建项目的类

      自sonar java 4.12以来,必须指定sonar.java.binaries属性

      sonar-scanner -Dsonar.projectKey=fr.demo:my-project -Dsonar.sources=. -Dsonar.java.binaries=.