在一段 java 源代码上动态调用 findbug 扫描



在我们的产品UI中,我们为用户提供了一种编写Java代码的方法,用于定制。在保存表单时,我想在该 java 源代码上调用 findbugs 静态分析,并显示结果。在这种情况下,如何将 Findbug 与我的产品集成?有人可以建议调用哪些 API 吗?

似乎有一个主要的入口点edu.umd.cs.findbugs.FindBugs2 ;实例化后,您可以通过setProject()添加要扫描的源,调用execute(),并通过getBugReporter()查看结果。这是低级的做事方式 - 你基本上将FindBugs与你的应用程序捆绑在一起(注意可能的许可问题(,并在内部调用它。我可能缺少上面的一些步骤 - 因为我只浏览了文档,其中不包括此用例的代码示例。

通过java -jar <path-to-findbugs-jar> -auxclasspath <classpath needed for analysis> -analyzeFromFile <file with one filename to analyze per line>将FindBugs作为外部应用程序调用可以实现更容易的集成;然后应用程序打开,用户可以自由探索任何突出显示的错误。命令行选项的完整列表 - 甚至可以让 FindBug 生成报告,然后只显示报告,根本不启动 FindBugs UI。

最新更新