Eclipse的FindBugs插件
来源:互联网 发布:js serializejson 编辑:程序博客网 时间:2024/05/22 01:21
Eclipse的FindBugs插件 问题提出: 当我们编写完代码,做完单元测试等各种测试后就提交正式运行,只能由运行的系统来检测我们代码是否有问题了,代码中隐藏的错误在系统运行的过程中被发现后,然后再来进行相应的修改,那么后期修改的代价就相当高了。 解决方法: 现在有很多Java代码分析工具,FindBugs中开源项目当中的一个,它可以帮你找到代码中隐藏的一些错误,提升你的代码能力与系统安全可靠性。 安装 JDK:1.5.0 从http://java.sun.com上去下载安装 Eclipse:3.1.1 从http://www.eclipse.org 上去下载解压 FindBugs:0.9.4 从http://findbugs.sourceforge.net/ 官方的文档 http://findbugs.sourceforge.net/manual/ Eclipse plugin for FindBugs version 0.0.17 从 http://findbugs.sourceforge.net/downloads.html 下载 插件管理技巧 提示:新下载的插件PlugIn一定不要都放在原始的Eclipse目录下去。 比如:E:/OpenSource/Eclipse/PlugInsNew/ 那么就在%ECLIPSE_HOME%/PlugInsNew/目录下建立XYZ目录,目录里面是eclipse目录,eclipse目录包含有features与plugins两个子目录;结构如下图所示: %ECLIPSE_HOME%/PlugInsNew/XYZ/eclipse/features %ECLIPSE_HOME%/PlugInsNew/ XYZ/eclipse/plugins 然后在%ECLIPSE_HOME%/links目录里建立一个XYZ.link的文件 内容如是:path=E:/OpenSource/Eclipse/PlugInsNew/XYZ就一行这样的路径指示而已。 当然,采用相对路径来表示可能更直观一些,方便进行文件整体移动和小组全部成员的共享命名用,省得移动后要改动Link文件里的绝对路径而费心费力。直接拷贝过去就可以使用。 即XYZ.link文件的内容如是:path=../PlugInsNew/XYZ 这样,如果你下载了多个插件就可以如法炮制建立多个Link文件,想加载哪个插件就把哪个插件的Link文件放到%ECLIPSE_HOME%/links的目录中即可,使用与管理都很方便,建议千万不要放在默认的安装目录中; 如果你的%ECLIPSE_HOME%与此不同,请修改XYZ.link文件里的路径 删除%ECLIPSE_HOME%/links/XYZ.link文件即可 删除%ECLIPSE_HOME%/PlugInsNew/XYZ整个目录及文件 使用 重新启动Eclipse后,在Help => About Eclipse SDK => Plug-in Details你可以看到由“FindBugs Project”提供的“FindBugs Plug-in”版本0.0.17插件,如下图所示: FindBugs的使用方法 FindBugs是一个可以在Java程序中发现Bugs的程序。 它是专门用来寻找处于“Bug Patterns”列表中的代码的。 Bug Patterns指很有可能是错误的代码的实例。 目前FindBugs最高版本0.9.4,不过更新速度很快的,你应当经常上去看看是否有新版本发布。Eclipse plugin for FindBugs最高版本0.0.17。 系统要求 使用FindBugs至少需要JDK1.4.0以上版本,FindBugs是平台独立的,可以运行于GNU/Linux、Windows、MacOS X等平台上。 运行FindBugs至少需要有256 MB内存,如果你要分析一个很大的项目,那就需要更加多的内存了。 FindBugs独立运行和与Ant结合的详细操作就不介绍了,可以看官方的文档http://findbugs.sourceforge.net/manual/ 独立运行的效果图如下: 打开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 => 可以配置的信息包括如上图所示的四个选项的相关设置: 当此项选中后,FindBugs将会在你修改Java类时自动运行,如你设置了Eclipse自动编译开关后,当你修改完Java文件保存,FindBugs就会运行,并将相应的信息显示出来。 当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。 这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如: 你选择了High选择项,那么只有是High级别的提示信息才会被显示。 你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。 你选择了Low选择项,那么所有级别的提示信息都会被显示。 在这里是一些显示Bug分类的选择: Correctness关于代码正确性相关方面的 Performance关于代码性能相关方面的 Internationalization关于代码国际化相关方面的 Multithreaded correctness关于代码多线程正确性相关方面的 Style关于代码样式相关方面的 Malicious code vulnerability关于恶意破坏代码相关方面的 比如:如果你把Style的检查框去掉不选择中它,那么与Style分类相关的警告信息就不会显示了。其它的类似。 在这里你可以选择所要进行检查的相关的Bug Pattern条目 可以从Bug codes、Detector name、Detector description中看到相应的是要检查哪些方面的内容,你可以根据需要选择或去掉相应的 检查条件。 总结 此插件的功能很不错,可以帮助我们提升Java代码的编写能力,写出更加安全可靠的代码。建议使用或加在Ant里进行持续构建。现在,你可以马上拿出你已经开发的一个项目,检查一下你的代码有没有问题了。
- Eclipse的FindBugs插件
- Eclipse FindBugs插件的安装与使用
- FindBugs eclipse插件的安装与使用
- FindBugs:Eclipse插件
- FindBugs --Eclipse插件
- Eclipse安装Findbugs插件
- FindBugs:Eclipse插件 用法
- eclipse 插件 findbugs
- Eclipse插件:FindBugs
- Eclipse 安装FindBugs插件
- Eclipse插件之Findbugs
- Eclipse 安装FindBugs插件
- eclipse安装findBugs插件
- eclipse 插件: findBugs
- Eclipse插件:FindBugs
- Eclipse 安装FindBugs插件
- Eclipse 安装FindBugs插件
- Eclipse 安装FindBugs插件
- log4j详解
- 利用WebClient上传文件
- 【趣闻】Google不让C语言之父提交代码
- Silverlight 浏览器外运行时获取不到初始化参数的问题
- 常见术语简写
- Eclipse的FindBugs插件
- ERP的概念与历程
- 调用函数'STATUS_TEXT_EDIT'读订单长文本新发现!!!
- xul教程
- 测试创建和销毁进程开销于创建和销毁线程开销对比
- ORACLE如何停止一个JOB
- sap 常用的事物代码
- Linux下Telnet、ssh服务的配置和使用
- 关于取交货单的合作伙伴信息细节