【问题标题】:Disable specific sonarqube rule for all java files in a project为项目中的所有 java 文件禁用特定的 sonarqube 规则
【发布时间】:2018-01-27 04:09:08
【问题描述】:

我正在为我的一个 java 项目运行 sonarqube 分析,它报告了很多违规行为,并且报告的大多数违规行为是针对一个班级可以拥有的最大父母数量squid:MaximumInheritanceDepth

This class has 6 parents which is greater than 5 authorized

我在项目中有超过 100 个类,我不想为每个类添加 @SuppressWarning 注释。

有没有办法为我的项目中的所有 Java 文件禁用此规则?

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    一种选择是使用您已从中删除此规则的配置文件的副本来分析此项目。

    另一种方法是创建另一个配置文件,inherit 现有配置文件中的规则,并更新此特定规则的参数值,将值增加到 6(或 7 或 ...)

    第三种选择是使用exclusions 有效地为项目中的文件关闭该规则。

    转到项目管理>常规设置>分析范围>忽略多个标准的问题并填写规则键(squid:MaximumInheritanceDepth)和文件模式(**/*.java),这应该可以把戏。

    【讨论】:

    • 嗨@g-ann-sonarsource-team,感谢您对此的回复。我不能真正使用前两个选项,因为我们不维护 sonarqube 服务器并且它是集中控制的。使用第 3 个选项 - 我知道使用排除项可以排除特定类型的文件,但如何排除特定类型的规则?谢谢
    • 这就是 @Prasann 的“规则键”参数 - 指定要忽略的规则。
    • 嗨@g-ann-sonarsource-team,很抱歉回复晚了,我放假了几天,谢谢你的回复。从管理中禁用规则在 sonarqube 服务器上......但我正在寻找一个选项,如果可以从 sonar-project.properties 或通过设置任何 JVM 参数来忽略规则。有没有这种情况可以告诉我吗?
    • 我不建议通过属性设置这种类型的多值排除,但这可以通过项目级管理来设置。 JVM 参数在这里对你没有好处。
    • 感谢@g-ann-sonarsource-team。但是有没有一个选项可以从 .properties 文件中设置它?
    猜你喜欢
    • 2015-12-27
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 2022-12-16
    相关资源
    最近更新 更多