启用声纳python的SonarQube Scanner执行期间出错

时间:2019-04-12 08:50:40

标签: sonarqube

我是一个非常新的sonarqube用户,正在尝试我的python项目。

我已经安装了安装了Sonarpython插件的Docker Sonarqube映像。我安装了Linux基础声纳扫描仪。

我按照these的说明配置了扫描仪。

但是运行它时,我遇到了:

11:28:33.486 INFO: Configured Java source version (sonar.java.source): none
11:28:33.496 INFO: JavaClasspath initialization
11:28:33.512 INFO: ------------------------------------------------------------------------
11:28:33.512 INFO: EXECUTION FAILURE
11:28:33.512 INFO: ------------------------------------------------------------------------
11:28:33.513 INFO: Total time: 22.237s
11:28:33.670 INFO: Final Memory: 28M/509M
11:28:33.671 INFO: ------------------------------------------------------------------------
11:28:33.671 ERROR: Error during SonarQube Scanner execution
org.sonar.java.AnalysisException: Please provide compiled classes of your project with sonar.java.binaries property
    at org.sonar.java.JavaClasspath.init(JavaClasspath.java:66)
    at org.sonar.java.AbstractJavaClasspath.getElements(AbstractJavaClasspath.java:280)
    at org.sonar.java.SonarComponents.getJavaClasspath(SonarComponents.java:175)
    at org.sonar.java.JavaSquid.<init>(JavaSquid.java:82)
    at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:91)
    at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48)
    at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85)
    at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59)
    at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77)
    at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59)
    at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
    at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:359)
    at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:354)
    at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:317)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
    at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
    at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73)
    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
    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:185)
    at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:137)
    at org.sonarsource.scanner.cli.Main.execute(Main.java:111)
    at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
    at org.sonarsource.scanner.cli.Main.main(Main.java:61)

我是否需要配置sonar.java.source才能成功扫描?

1 个答案:

答案 0 :(得分:0)

在您的项目中有了一些Java源代码后,SonarQube还将要求您提供已编译的二进制文件以执行分析。它为您提供2种选择:

  • 如果您只想关注Python代码,请忽略Java代码,方法是使用以下扫描程序属性sonar.exclusions=**/*.java适当地排除它。有关排除的更多信息,请访问以下页面:SonarQube 7.7 - Narrowing the focus。另一种方法是只包含 include python文件,而忽略其他所有文件。但是,我们建议进行更广泛的分析。
  • 如果您还想分析Java代码,请首先构建项目,并使用以下属性提供指向二进制文件和库的路径(可选):sonar.java.binariessonar.java.libraries。请参阅此文档页面以进行配置:Java Plugin and Bytecode
相关问题