Sonar scanner giving error while project execution

Must-share information (formatted with Markdown):

  • which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension)
    sonar server 7.9, sonar scanner 4.1, Ubuntu 1804
  • what are you trying to achieve
    i am trying to execute a java project from CLI with sonar scanner
  • what have you tried so far to achieve this
    i have edited sonar scanner property file and then executed below command.

sonar-scanner-4.1.0.1829-linux/bin/sonar-scanner

i have found below error for the execution of project with sonar.

=========================
sonar failure logs

root@ip-172-31-38-231:/opt/sonar_scanner# sonar-scanner-4.1.0.1829-linux/bin/sonar-scanner

INFO: ------------------------------------------------------------------------
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:64)
at org.sonar.java.AbstractJavaClasspath.getElements(AbstractJavaClasspath.java:280)
at org.sonar.java.SonarComponents.getJavaClasspath(SonarComponents.java:209)
at org.sonar.java.JavaSquid.(JavaSquid.java:84)
at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:87)
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:400)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:395)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:358)
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:141)
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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/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:185)
at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:137)
at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
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.

plz help , it is urgent.

Hi,

In former versions the sonar.java.binaries property has been optional but it’s obligatory for some time now. So you need to set this property for the analysis of Java projects.

see https://docs.sonarqube.org/latest/analysis/languages/java/ for all details

Compiled .class files are required for java projects with more than one java file. If not provided properly, analysis will fail with the message:

Your project contains .java files, please provide compiled classes with sonar.java.binaries property, or exclude them from the analysis with sonar.exclusions property.

Gilbert

1 Like

Hi Gilbert,
So sonar.java.binaries property should be defined inside sonar-scanner conf property file settings right ?

Can you give me the example to declare sonar.java.binaries & its value ?

Hi,

no, sonar.java.binaries is a property for the SonarJava code analyzer -
not for the Sonar scanner itself.
The $installdir/conf/sonar-scanner.properties has only the sonar.host.url

You wrote it’s a java project, so i guess you’re using a build tool like Maven, Gradle or Ant !?
If you provide more details, e.g. which buildtool, does it run within Jenkins pipeline … etc. i may
give you specific hints.

Hi Gilbert ,

I am facing this issue and can provide you with my ant script please ?

Welcome :slight_smile:

hijacking older threads is not recommended :wink:
Also the subject line “Sonar scanner giving error while project execution” is too general.
If you get the error message about the missing sonar.java.binaries property, then this
is missing in your ant script before calling the sonarqube ant task:

<property name="sonar.java.binaries" value="xxx" />

For all details about running the analysis with ant see
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-ant/

If any further questions please open a new thread and i’m happy to help.

Gilbert

HI,

Thank you for your fast reply.

I have created a new new thread which you can find here :