FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式。详情参考:http://www.ibm.com/developerworks/cn/java/j-findbug1/
下载和安装
网上对FindBugs的介绍不少,但是对插件安装和使用比较少。也许是版本问题 网上介绍的Eclipse 插件安装(links 方式安装)不行,无法正常工作。首先到官方网站下载最新版本FindBugs http://findbugs.sourceforge.net/downloads.html
名称为:Eclipse plugin for FindBugs version 1.3.4 下载后解压,然后把解压文件夹复制到Eclipse安装目录( 我的Eclipse安装目录C:/Program Files/Eclipse )下plugins目录中(如下图):也许是版本问题,使用link方式无法正常安装
查看安装状态
打开Eclipse Help-->About Eclipse Platform-->Plug-In Details 可以查看FindBugs版本信息。当然,如果没有正确安装不会显示FindBugs信息 (如下图)
写一个有Bug的代码测试下
源代码如下:
public class MyTest {
private String[] name;
public String[] getName() {
return name;
}
public void setName(String[] name) {
this.name = name;
}
}
右键点击源文件,选择FindBugs-->Find Bugs (如下图)
此时源代码左边出现2个Bugs图标 (如下图)
打开错误显示器 Window-->Show View-->Other-->FindBugs-->Bug Explorer (如下图) 显示错误原因
然后,根据提示进行代码修改。多用用FindBugs 你会发现做得很好很智能
FindBugs Tool
如果你没有Eclipse是不是就不用使用FindBugs呢?答案:否定的。用FindBugs Tool标准版检查代码的Bugs。FindBugs Tool现在最新版本是1.3.4标准版集命令行、Ant、图形化为一体功能同Eclipse plugin for FindBugs一样。
下载最新版本后,运行bin目录下的findbugs.bat批处理文件(如下图)
FindBugs主界面
这里介绍的FindBugs仅仅是皮毛,如需更多帮助。http://findbugs.sourceforge.net/manual/index.html (英文版)