原文转自:http://tech.163.com/06/0206/10/2996Q3PE0009159F_2.html
本文主要介绍在Eclipse中使用的情况
打开Bug Details视图
Windows => Show View => Other… => FindBugs => BugDetails
在Package Explorer或Navigator视图中,选中你的Java项目,右键,可以看到“Find Bugs”菜单项,子菜单项里有“Find Bugs”和“Clear Bug Markers”两项内容,如下图所示:
我们建立一个简单的测试文件Test.java 内容如下:
public class Test { private String[] name; public String[] getName() { return name; } public void setName(String[] name) { this.name = name; } }
我们点中“Find Bugs”,运行时会出现如下进度框:
运行结束后可以在Problems中看到增加了如下的警告信息内容
FindBugs运行后的警告信息内容不仅在Problems视图中显示,而且将标记在源代码标记框中,在源代码编辑器中我们可以看到警告标识,如下图:
当光标指向你的警告信息的代码上面时,就会有相应的错误提示信息,与Eclipse本身的错误或警告信息提示类似。
选中Problems视图里出现的相应问题,就会在代码编辑器里切换到相应的代码上去,方便根据相应的提示信息进行代码的修改。
在Problems视图里,选中相应的问题条目,右键,在弹出的菜单中,可以看到“Show Bug Details”,如下图所示:
点中它,会切换到Bug Details视图上去,显示更加详细的提示信息。
当然,在代码编辑窗口中,点击带有警告提示信息的图标时,也会自动切换到Bud Details窗口去,查看详细的警告信息,如下图所示。
根据这里详细的信息,你可以得到FindBugs为什么会对你的代码报警告信息,及相应的处理办法,根据它的提示,你可以快速方便地进行代码修改。
根据提示,我们将代码修改成如下,再运行就不会报有警告信息了。
public class Test { private String[] name; public String[] getName() { String[] temp = name; return temp; } public void setName(String[] name) { String[] temp = name; this.name = temp; } } 配置FindBugs
选择你的项目,右键 => Properties => FindBugs =>
可以配置的信息包括如上图所示的四个选项的相关设置:
- Run FindBugs Automatically开关
当此项选中后,FindBugs将会在你修改Java类时自动运行,如你设置了Eclipse自动编译开关后,当你修改完Java文件保存,FindBugs就会运行,并将相应的信息显示出来。
当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。
- Minimum priority to report选择项
这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如:
你选择了High选择项,那么只有是High级别的提示信息才会被显示。
你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。
你选择了Low选择项,那么所有级别的提示信息都会被显示。
- Enable bug categories选择项
在这里是一些显示Bug分类的选择:
Correctness关于代码正确性相关方面的
Performance关于代码性能相关方面的
Internationalization关于代码国际化相关方面的
Multithreaded correctness关于代码多线程正确性相关方面的
Style关于代码样式相关方面的
Malicious code vulnerability关于恶意破坏代码相关方面的
比如:如果你把Style的检查框去掉不选择中它,那么与Style分类相关的警告信息就不会显示了。其它的类似。
- Select bug patterns to check for选择项
在这里你可以选择所要进行检查的相关的Bug Pattern条目
可以从Bug codes、Detector name、Detector description中看到相应的是要检查哪些方面的内容,你可以根据需要选择或去掉相应的 检查条件。
此插件的功能很不错,可以帮助我们提升Java代码的编写能力,写出更加安全可靠的代码。建议使用或加在Ant里进行持续构建。
现在,你可以马上拿出你已经开发的一个项目,检查一下你的代码有没有问题了。