为了账号安全,请及时绑定邮箱和手机立即绑定

SonarQube Scanner:真的需要二进制文件吗?

SonarQube Scanner:真的需要二进制文件吗?

当年话下 2022-11-02 15:32:49
我在一个 java 项目上运行 SonarQube 扫描仪。在属性文件中有一个属性sonar.java.binaries=**/classes来指定项目的类位置。扫描失败并显示此错误:ERROR: Error during SonarQube Scanner execution ERROR: Please provide compiled classes of your project with sonar.java.binaries property什么时候:我删除了该sonar.java.binaries属性我将sonar.java.binaries属性设置为null我将属性设置为sonar.java.binaries=**/classes但在项目目录中没有类目录或有空目录扫描在以下情况下成功完成:我设置了属性sonar.java.binaries=**/classes并创建了一个类文件夹,将一个伪造的文件放入其中blabla.class所以我的问题是:如果扫描仪在没有它们的情况下也可以工作,为什么还需要这些类?
查看完整描述

1 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

官方文档复制:

需要 Java 字节码

在不提供由javac(Android 用户:Jack 不提供所需.class文件)和所有项目依赖项(jar 文件)生成的 Java 字节码的情况下分析 Java 项目是可能的,但会导致误报数量增加,即合法问题将被分析仪遗漏。

从 SonarJava 版本 4.12 开始,具有多个 java 文件的 java 项目需要二进制文件。如果未正确提供,分析将失败并显示消息

Please provide compiled classes of your project with sonar.java.binaries property

如果您不使用 Maven 运行分析,请参阅Java 插件和字节码以了解如何提供 Java 字节码。

如您所见,字节码是必需的。如果您不向分析器提供字节码,那么构建的语法/依赖树将丢失一些数据,并且您会得到更多的误报(应该报告但没有报告的问题)。


查看完整回答
反对 回复 2022-11-02
  • 1 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信