2012-10-06 50 views
4

FindBugs docs for Ant tasks有点混乱。传统上,我总是通过Eclipse插件使用FindBugs,在那里你只需选择你的项目,然后点击“FindBugs”来获取报告。FindBugs Ant任务是否需要JAR?

随着findbugs Ant任务,有一个嵌套<class>元件是:

A [n]的可选嵌套元素指定要分析的类。

根据我所看到的例子,看起来FB实际上要求您在运行FB任务之前首先对您的项目进行JAR测试。

有人可以证实这一点,并解释什么class元素是?对于像我这样的新人来说,这种描述非常模糊。

其次,更重要的是,我的项目实际上是一个Java Web应用程序(WAR)文件。因此,如果我没有弄错,并且如果FB需要有JAR来进行分析,那么我的策略是在<target name="findbugs">目标内创建我的项目的“临时JAR”,并且有它只是由我编译的所有Java类组成。这不会是可执行的,并且只会在满足FB的前提下被删除,并且会在以后的构建中被删除。

我的基地在这里吗? Java Web应用程序构建者在其Ant构建中使用FB的标准操作过程是什么?提前致谢!

+1

例如如何配置FB ANT任务罐子见http://stackoverflow.com/questions/12744819/findbugs-issue-with-ant/12759178#12759178 –

回答

0

如果你下载FindBugs本身(在我的情况下,版本2.0.1),并从包含的批处理文件启动gui,它会限制文件类型,你可以放入项目中进行分析:在“New Project”对话框中,“jar,战争,耳朵,拉链,sar”。 所以,我想,压缩你的.class文件就足够了 - 毕竟,.jar只是你的.class文件在它们的文件夹结构中的一个zip文件,加上了添加的清单文件。

但是,如果您打开一个包含非压缩源文件的文件夹,FindBugs将尝试分析。

[更新我终于找到了FindBugs ant任务来处理我的系统。它绝对适用于类文件。 让它运行是一件非常麻烦的事情,因为有一些棘手的问题需要阅读源代码来解决。例如,包括你自己的罐子是非常棘手的,例如,对于使用log4j日志记录,一些帮助你的参数没有记录,并且报告错误的最低等级是相当高的,并且不能像我经历的那样降低。如果您有任何问题,请告诉我,我很乐意提供帮助。 ]

+0

我在使用与ANT FindBugs的问题。我正在关注这个http://findbugs.sourceforge.net/manual/anttask.html,但无法运行。 – user3707644

+0

可以请你描述你遵循的步骤让它运行。 thx – user3707644

+0

我很抱歉,但经过了所有这些年(切换公司和所有在此期间),我不能再访问该代码(或个人记忆,对于这一点):( 如果你指定你的具体问题(+输出等),并在这个网站上提出另一个问题,但我可以看看 – RobertG