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

时间:2017-02-08 15:19:43

标签: java findbugs

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

1 个答案:

答案 0 :(得分:0)

似乎有一个主要的切入点 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作为外部应用程序,可以实现更轻松的集成;然后打开应用程序,用户可以自由探索任何突出显示的错误。 command-line options的完整列表 - 甚至可以让FindBugs生成报告,然后只显示报告,而无需启动FindBugs UI。