SonarQube 9.0版本Marketplace缺失FindBugs/SpotBugs插件问题咨询
根本原因
SonarQube 9.0应用市场无法找到FindBugs/SpotBugs插件是官方调整导致的正常现象:
- FindBugs本身已停止多年维护,其继任者SpotBugs的Sonar适配插件由第三方社区独立维护,未通过SonarQube官方9.x版本的兼容性验证,因此未纳入官方应用市场的托管列表
- SonarQube官方自身的Java静态分析规则已覆盖绝大多数FindBugs/SpotBugs的核心检测能力,官方优先引导用户使用内置规则集,因此主动下架了第三方FindBugs相关插件的分发入口
使用SpotBugs执行代码分析的操作步骤
注意:SpotBugs插件版本必须与SonarQube 9.0严格适配,建议选用第三方社区发布的4.2.0及以上稳定适配版本,否则可能导致SonarQube服务启动失败
- 首先获取适配SonarQube 9.0的SpotBugs插件jar包
- 将插件jar包放入SonarQube安装目录下的
extensions/plugins文件夹中 - 重启SonarQube服务,Linux系统可执行命令
sudo systemctl restart sonarqube,Windows系统可直接在服务管理器中重启对应SonarQube服务 - 服务重启完成后登录SonarQube控制台,进入「配置-代码质量-Java」页面,即可看到SpotBugs规则集,按需勾选规则后绑定到项目对应的质量配置中
- 后续执行常规SonarQube代码扫描时,会自动调用已启用的SpotBugs规则完成检测,扫描结果会和内置规则的检测结果统一展示在项目面板中
补充说明
- 第三方维护的SpotBugs插件不属于SonarQube官方支持范围,若出现扫描异常、服务不稳定等问题,可尝试调整插件版本适配当前环境
- 若无特殊的自定义FindBugs规则需求,可直接使用SonarQube内置的Java漏洞检测、不良实践检测规则集,可覆盖90%以上FindBugs的核心检测场景,稳定性更高
内容的提问来源于stack exchange,提问作者PatPanda
相关产品推荐
相关产品推荐

