【问题标题】:Is it possible to disable Findbugs Sensor for specific java project with sonar-scanner是否可以使用声纳扫描仪禁用特定 java 项目的 Findbugs Sensor
【发布时间】:2016-10-13 03:16:06
【问题描述】:

我有一个 android 项目,并被要求设置声纳分析。

Sonarqube 服务器上安装了 findbugs 插件,我无法删除它,因为其他 java 项目正在使用它。

问题是我不想要 findbugs 分析,但是当我像这样配置 sonar-project.properties 时,它看起来是强制性的:

# Language
sonar.language=java
sonar.profile=Android Lint

我试过了

sonar.findbugs.skip=true
sonar.findbugs.disabled=true

但没有运气

那么我该如何禁用这个特定项目的 findbugs 传感器?

【问题讨论】:

    标签: android sonarqube findbugs


    【解决方案1】:

    如果此项目使用的质量配置文件中没有激活 FindBugs 规则,那么您似乎受到了 FindBugs 插件中的错误的影响:

    Issue #37 - 如果没有启用任何规则,FindBugs 插件不应开始分析

    【讨论】:

      【解决方案2】:

      在此处执行 FindBugs 是因为您使用的质量配置文件(规则集)包含 FindBugs 规则。为避免 FindBugs 执行,请创建一个没有 FindBugs 规则的配置文件,并分配您的项目以使用该配置文件进行分析。您可以在项目 Administration > Quality Profiles 中进行分配。

      更新 如果插件加载到实例中,FindBugs 传感器似乎会运行 - 无论您是否使用它的任何规则。阻止它运行并节省时间的唯一方法是卸载。

      【讨论】:

      • 但我使用的是“Android Lint”,来自质量配置文件页面,看起来没有来自 findbugs 的规则
      • 仅当您想消除整个项目的 findbugs 报告时,从质量配置文件中删除 findbug 规则才有意义。对于多模块 maven 项目,如果我想跳过单个模块的 findbugs,但在所有其他模块上运行它怎么办?例如我有一个充满生成代码的模块(不值得 findbugs 检查),其他模块中有真实代码。
      • 喜欢人们投票反对,因为他们不喜欢真相
      【解决方案3】:

      目前我认为可以通过https://github.com/spotbugs/sonar-findbugs/issues/50解决

      在 SonarQube 服务器上,在项目管理 > 常规设置 >java > 增加 findbugs Timeout 下

      【讨论】:

      • 由于外部资源不可靠,您应该将最重要的信息发布到您的答案中。
      • 如果我真的不想在给定的 maven 模块上运行 findbugs,给 findbugs 更多的时间来处理不是一个有效的解决方案。在我的情况下,findbugs 需要很长时间,因为它在不适当的东西上运行(在一个特定模块中生成的代码) - 我不想给它更多时间,我想为这个模块关闭它(仅)。
      猜你喜欢
      • 2023-03-15
      • 2021-01-14
      • 2017-04-27
      • 2019-10-27
      • 2016-12-01
      • 2017-08-19
      • 2017-11-21
      • 1970-01-01
      • 2019-03-09
      相关资源
      最近更新 更多