Java 使用自定义FindBugs插件扩展SonarQube FindBugs插件

Java 使用自定义FindBugs插件扩展SonarQube FindBugs插件,java,sonarqube,findbugs,Java,Sonarqube,Findbugs,我们为FindBugs创建了一个自定义插件(为了清楚起见:这是一个FindBugs插件,不是sonar插件),我们想用自定义FindBugs插件扩展FindBugs sonar插件 目前,我们将SonarQube 5.1与FindBugs sonar插件3.2一起使用 因为我们的定制findbugs插件是findbugs的有效插件,我们认为激活它最简单的方法是使用现有sonar插件中findbugs实例的插件系统,但我们无法找到如何以这种方式激活findbugs插件 我们还尝试创建一个rules

我们为FindBugs创建了一个自定义插件(为了清楚起见:这是一个FindBugs插件,不是sonar插件),我们想用自定义FindBugs插件扩展FindBugs sonar插件

目前,我们将SonarQube 5.1与FindBugs sonar插件3.2一起使用

因为我们的定制findbugs插件是findbugs的有效插件,我们认为激活它最简单的方法是使用现有sonar插件中findbugs实例的插件系统,但我们无法找到如何以这种方式激活findbugs插件

我们还尝试创建一个rules.xml,并将jar放在sonar_home/extensions/rules/findbugs中,如中所述,但这似乎不适用于我们正在使用的findbugs sonar插件版本


配置SonarQube版本以获取自定义FindBugs插件的正确方法是什么?我们需要采取哪些步骤?

您的选择是分叉并将您的规则添加到“查找安全漏洞”规则旁边(请参阅),或者创建一个新的插件,类似于在将其加载到FindBugs插件之前的插件

在任何一种情况下,您都将在pom.xml中将jar作为依赖项列出,提供已经创建的rules.xml,并添加一个

如果你选择独立的路线,哪一条可能更好,你需要

  • 等待5.2中的错误修复
  • 使用FindBugs存储库密钥。请参阅的“之前”部分
  • 提供所需的

  • 编辑:编辑以添加提交链接并扩展独立路由的要求。

    为什么不看看如何使用SonarQube java自定义规则实现检查?这将是一个选项,但是看起来我们将不得不使用Sonar API重新实现所有FindBugs检查,而不是重用?不幸的是,你是对的,但我倾向于认为你的代码最终会更清晰。嗨,G.安,谢谢你的快速响应。我决定创建一个新的插件,按照建议的方法。不过,我似乎遇到了一个问题,让findbugs插件使用我们自己的findbugs定义。Sonar运行期间,Sonar会创建一个findbugs-include.xml文件,但该文件不包含我们自己的findbugs bug定义。看起来Hmmm排除了我们的错误定义。。。看起来您需要选择FindBugs存储库密钥,而不是声明自己的密钥。此提交显示fb contrib何时分离。以前,这些规则似乎都集中在一起:是的,我试过了,但后来我遇到了这个错误:这似乎在以后的提交中得到了解决(!),但不确定它将在哪个版本的Sonar中可用,以及后果如何。我还发现了相关的Jira问题(我认为)表示我遇到的问题将在Sonar 5.2中得到解决。我不明白——这些方法中哪一种适用于5.1.x?我需要分叉SonarQube FindBugs插件吗?