官方网站:http://findbugs.sourceforge.net/
Eclipse插件: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两个子目录;结构如下图所示:
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 165pt; HEIGHT: 307.5pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/xq50b3j256x9.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image001.jpg"></imagedata></shape>
-
把下载的新插件的文件放在以下相应目录中
%ECLIPSE_HOME%/PlugInsNew/XYZ/eclipse/features
%ECLIPSE_HOME%/PlugInsNew/ XYZ/eclipse/plugins
-
建立相关的.link的文件
然后在%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
删除%ECLIPSE_HOME%/links/XYZ.link文件即可
删除%ECLIPSE_HOME%/PlugInsNew/XYZ整个目录及文件
-
重新启动Eclipse即可
使用
重新启动Eclipse后,在Help => About Eclipse SDK => Plug-in Details你可以看到由“FindBugs Project”提供的“FindBugs Plug-in”版本0.0.17插件,如下图所示:
<shape id="_x0000_i1026" style="WIDTH: 390pt; HEIGHT: 329.25pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/ifrs62d7h0jt.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image002.jpg"></imagedata></shape>
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/
独立运行的效果图如下:
<shape id="_x0000_i1027" style="WIDTH: 415.5pt; HEIGHT: 381.75pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/622m736481l0.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image003.jpg"></imagedata></shape>
本文主要介绍在Eclipse中使用的情况
打开Bug Details视图
Windows => Show View => Other… => FindBugs => BugDetails
<shape id="_x0000_i1028" style="WIDTH: 222pt; HEIGHT: 310.5pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/41175t939i9s.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image004.jpg"></imagedata></shape>
在Package Explorer或Navigator视图中,选中你的Java项目,右键,可以看到“Find Bugs”菜单项,子菜单项里有“Find Bugs”和“Clear Bug Markers”两项内容,如下图所示:
<shape id="_x0000_i1029" style="WIDTH: 231.75pt; HEIGHT: 344.25pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/2ezt0h504fus.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image005.jpg"></imagedata></shape>
我们建立一个简单的测试文件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视图里出现的相应问题,就会在代码编辑器里切换到相应的代码上去,方便根据相应的提示信息进行代码的修改。
<shape id="_x0000_i1030" style="WIDTH: 415.5pt; HEIGHT: 144.75pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/nrs082xwhx4h.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image006.jpg"></imagedata></shape>
在Problems视图里,选中相应的问题条目,右键,在弹出的菜单中,可以看到“Show Bug Details”,如下图所示:
<shape id="_x0000_i1031" style="WIDTH: 109.5pt; HEIGHT: 184.5pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/jn3j1644io3y.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image007.jpg"></imagedata></shape>
点中它,会切换到Bug Details视图上去,显示更加详细的提示信息。
当然,在代码编辑窗口中,点击带有警告提示信息的图标时,也会自动切换到Bud Details窗口去,查看详细的警告信息,如下图所示。
<shape id="_x0000_i1032" style="WIDTH: 317.25pt; HEIGHT: 120pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/t4h5k4q5i5sx.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image008.jpg"></imagedata></shape>
根据这里详细的信息,你可以得到FindBugs为什么会对你的代码报警告信息,及相应的处理办法,根据它的提示,你可以快速方便地进行代码修改。
<shape id="_x0000_i1033" style="WIDTH: 415.5pt; HEIGHT: 144.75pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/71ll9wu3h2c6.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image009.jpg"></imagedata></shape>
根据提示,我们将代码修改成如下,再运行就不会报有警告信息了。
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 =>
<shape id="_x0000_i1034" style="WIDTH: 414.75pt; HEIGHT: 340.5pt" alt="" type="#_x0000_t75"><imagedata o:href="http://www.webdn.com/web_file/program/jsp/060208087/images/w9782i23chf6.jpg" src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image010.jpg"></imagedata></shape>
可以配置的信息包括如上图所示的四个选项的相关设置:
-
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里进行持续构建。
现在,你可以马上拿出你已经开发的一个项目,检查一下你的代码有没有问题了
分享到:
相关推荐
eclipse插件 优秀的代码检查工具 一般官网下载到的zip是findbugs的工程,不能直接用到eclipse上,把我传的这个文件解压后的文件夹放到dropins目录下就可以使用
FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定...
NULL 博文链接:https://knight-black-bob.iteye.com/blog/2330285
eclipse插件
##fb-contrib Eclipse 快速修复插件(简称 fb-contrib quickfixes) ## 这个存储库扩展了 提供的快速修复,以涵盖由 、 和 FindBugs 本身检测到的。 ##Installing the plugin##要安装这个项目,打开Eclipse,进入...
Eclipse FindBugs 插件 安装指南 Eclipse FindBugs 插件 安装指南 Eclipse FindBugs 插件 安装指南
findbugs 代码检查 eclipse插件 3.0.0版本
2.0版本,支持jdk1.6,ecplise3.2以上,需要新版请移步官网http://findbugs.sourceforge.net/
findbugs 最新官方插件,下载后解压放到eclipse安装目录里的plugins文件夹下,里面包含findbugs规则文件,findbugs使用说明(华为内部公开文件)
findbugs2.0.2 eclipse 插件中文版 。 基于 edu.umd.cs.findbugs.plugin.eclipse_2.0.2.20121204 翻译 ,最新版本,火热出炉。 解压开放到 dropins 夹子即可~~~
该压缩包包含两个插件: 1、checkStyle 2、findBugs
FindBugs1.3.4 eclipse插件,帮助你编出高质量的代码。支持低版本的eclipse3.2。
Eclipse插件更新地址
findbugs 插件 Eclipse 测试工具,好用的检查工具,尤其是在发现代码漏洞缺陷,十分好用
直接解压将解压后的文件放到eclipse/plugin目录下,重启eclipse即可。 此压缩文件有两个版本(1.3.9和3.0.1)自行匹配,保证可用。
Androidstudio eclipse findbugs插件
eclipse中直接安装时不成功,然后下载该zip,直接解压到plugins目录下,重启eclipse即可,注意文件名必须为版本号,不能为其他字符信息,否则不成功,亲测。
FindBugs既提供可视化 UI 界面,同时也可以作为 Eclipse插件使用。文本将主要使用将 FindBugs作为 Eclipse插件。在安装成功后会在 eclipse中增加 FindBugs perspective,用户可以对指定 Java类或 JAR文件...