2017-02-08 26 views
0

在我们的产品UI中,我们为用户(即开发人员)提供了一种编写Java代码的方法,用于定制。在保存表单时,我想调用该java源代码上的findbugs静态分析,并显示结果。在这种情况下,我怎样才能将Findbugs与我的产品整合?有人可以建议调用哪些API吗?在一段Java源代码上动态调用findbug扫描

+0

欢迎来到Stack Overflow!你可以先参加[游览]并学习[问]一个很好的问题,然后创建一个[mcve]。这使我们更容易帮助你。 – Katie

+0

只是需要注意的一点,findbugs不能在java源代码上运行。 – MeBigFatGuy

回答

0

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

通过调用FindBugs作为外部应用程序,可以通过java -jar <path-to-findbugs-jar> -auxclasspath <classpath needed for analysis> -analyzeFromFile <file with one filename to analyze per line>实现更容易的集成;应用程序随即打开,用户可以自由探索突出显示的错误。 command-line options的完整列表 - 甚至可以让FindBugs生成报告,然后仅显示报告,而不必启动FindBugs UI。