SonarQube使用sonar-scanner扫描报错:Your project contains .java files, please provide compiled classes with sonar.java.binaries property, or exclude them from the analysis with sonar.exclusions property.

作者
2025-07-05阅读 39

1、背景

SonarQube的版本:v25.6.0.109173

SonarScanner的版本:SonarScanner CLI 7.1.0.4889

执行的命令:

sonar-scanner -D"sonar.projectKey=test" -D"sonar.sources=." -D"sonar.host.url=http://10.255.1.2:9000" -D"sonar.token=sqp_06d53222cc21b1394b4a7ed50d77e9"

2、报错信息

15:17:27.444 INFO  Sensor JavaSensor [java]
15:17:27.571 ERROR Error during SonarScanner Engine execution
org.sonar.java.AnalysisException: Your project contains .java files, please provide compiled classes with sonar.java.binaries property, or exclude them from the analysis with sonar.exclusions property.
        at org.sonar.java.classpath.ClasspathForMain.init(ClasspathForMain.java:70)
        at org.sonar.java.classpath.AbstractClasspath.getElements(AbstractClasspath.java:316)
        at org.sonar.java.SonarComponents.getJavaClasspath(SonarComponents.java:250)
        at org.sonar.java.JavaFrontend.<init>(JavaFrontend.java:92)
        at org.sonar.plugins.java.JavaSensor.execute(JavaSensor.java:111)
        at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:69)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61)
        at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:80)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:227)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:206)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:212)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:208)
        at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:178)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:227)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:206)
        at org.sonar.scanner.bootstrap.SpringScannerContainer.doAfterStart(SpringScannerContainer.java:339)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:227)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:206)
        at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:142)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:227)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:206)
        at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:150)
        at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:67)
        at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:53)

15:17:27.665 INFO  EXECUTION FAILURE
15:17:27.669 INFO  Total time: 57.171s

null

3、原因及解决方式

对于java工程,sonar需要编译后的文件,找不到所以报错。

对于这个问题的解决方式

(1)重新编译一遍工程。maven的话就install,gradle就build。备注:这个方式我验证过,我这边是无效的,不解决问题

(2)按照提示,在命令中加入sonar.java.binaries这个参数,执行class的目录。比如target/classes

最新的命令就是:

sonar-scanner -D"sonar.projectKey=test" -D"sonar.sources=." -D"sonar.host.url=http://10.255.1.2:9000" -D"sonar.token=sqp_06d53222cc21b1394b4a7ed50d77e9" -D"sonar.java.binaries=target/classes"



全部评论

头像
乌兔
前端开发
私信
获得点赞 445
文章被阅读 31,261