我正在尝试检查仅使用源代码的分析和使用源代码以及编译后生成的.jar 的分析之间是否有任何区别。 如果我删除“-Dsonar.java.binaries”属性,我会收到此错误:
ERROR: Error during SonarQube Scanner execution
ERROR: Your project contains .java files, please provide compiled classes with sonar.java.binaries property, or exclude them from the analysis with sonar.exclusions property.
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
我正在使用的命令:
sonar-scanner '-Dsonar.host.url=http://192.168.1.25' '-Dsonar.projectKey=org.javaProject:myProject' '-Dsonar.projectName=myProject' '-Dsonar.sourceEncoding=UTF-8' '-Dsonar.sources=src' '-Djavax.net.ssl.trustStore=/certs'
你知道是否可以只分析源代码而不需要任何二进制文件?
最佳答案
为了使 SonarQube 具有任何重要值(value),它应该在编译代码并运行单元测试之后作为构建的一部分运行。坦率地说,我不知道是否可以在没有类文件的情况下运行扫描,但我不建议您尝试这样做。
如果您真的只想查看静态分析问题,我相信有一个“Sonar Lint”工具可以在 Eclipse 或可能的其他桌面工具中运行。
关于testing - 为什么 Sonar 中需要 Java 二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71348273/