Eclipse插件开拓之FindBugs插件
副标题#e#
问题提出:
当我们编写完代码,做完单位测试等各类测试后就提交正式运行,只能由运行的系统来检测我们代码是否有问题了,代码中埋没的错误在系统运行的进程中被发明后,然后再来举办相应的修改,那么后期修改的价钱就相当高了。
办理要领:
此刻有许多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目次下去。
前提是你已经安装好了Eclipse东西了,好比安装在E:\OpenSource\Eclipse\目次下,以下这个目次以%ECLIPSE_HOME%来举办暗示;
此时默认的插件是在%ECLIPSE_HOME%\plugins目次中的;
在%ECLIPSE_HOME%下成立一个PlugInsNew的目次;
好比:E:\OpenSource\Eclipse\PlugInsNew\
你下载了个新的插件,好比叫做:XYZ
那么就在%ECLIPSE_HOME%\PlugInsNew\目次下成立XYZ目次,目次内里是eclipse目次,eclipse目次包括有features与plugins两个子目次;布局如下图所示:
把下载的新插件的文件放在以下相应目次中
%ECLIPSE_HOME%\PlugInsNew\XYZ\eclipse\features
%ECLIPSE_HOME%\PlugInsNew\ XYZ\eclipse\plugins
成立相关的.link的文件
然后在ìLIPSE_HOME%\links目次里成立一个XYZ.link的文件
内容如是:path=E:/OpenSource/Eclipse/PlugInsNew/XYZ就一行这样的路径指示罢了。
虽然,回收相对路径来暗示大概更直观一些,利便举办文件整体移动和小组全部成员的共享定名用,免得移动后要窜改Link文件里的绝对路径而操心艰辛。直接拷贝已往就可以利用。
即XYZ.link文件的内容如是:path=../PlugInsNew/XYZ
这样,假如你下载了多个插件就可以如法炮制成立多个Link文件,想加载哪个插件就把哪个插件的Link文件放到ìLIPSE_HOME%\links的目次中即可,利用与打点都很利便,发起千万不要放在默认的安装目次中;
假如你的ìLIPSE_HOME%与此差异,请修改XYZ.link文件里的路径
删除,封锁Eclipse
删除%ECLIPSE_HOME%\links\XYZ.link文件即可
删除%ECLIPSE_HOME%\PlugInsNew\XYZ整个目次及文件
从头启动Eclipse即可
#p#副标题#e#
利用
从头启动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/
独立运行的结果图如下:
本文主要先容在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为什么会对你的代码报告诫信息,及相应的处理惩罚步伐,按照它的提示,你可以快速利便地举办代码修改。
按照提示,我们将代码修改成如下,再运行就不会报有告诫信息了。
#p#分页标题#e#
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里举办一连构建。
此刻,你可以顿时拿出你已经开拓的一个项目,查抄一下你的代码有没有问题了。