`

FindBugsEclipse插件

 
阅读更多

官方网站:http://findbugs.sourceforge.net/
Eclipse
插件:http://findbugs.sourceforge.net/downloads.html

  插件管理技巧

  提示:新下的插件PlugIn一定不要都放在原始的Eclipse下去。

  1. 前提是你已安装好了Eclipse工具了,比如安装在E:/OpenSource/Eclipse/下,以下个目%ECLIPSE_HOME%行表示;

  2. 的插件是在%ECLIPSE_HOME%/plugins中的;

  3. %ECLIPSE_HOME%下建立一个PlugInsNew的目
    比如:E:/OpenSource/Eclipse/PlugInsNew/

  4. 你下了个新的插件,比如叫做:XYZ
     那就在%ECLIPSE_HOME%/PlugInsNew/下建立XYZ,目里面是eclipseeclipse包含有featuresplugins两个子目构如下所示:

      <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>

  5. 把下的新插件的文件放在以下相
    %ECLIPSE_HOME%/PlugInsNew/XYZ/eclipse/features
    %ECLIPSE_HOME%/PlugInsNew/ XYZ/eclipse/plugins

  6. 建立相.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文件里的路径

  7. 除,关闭Eclipse
    %ECLIPSE_HOME%/links/XYZ.link文件即可
    %ECLIPSE_HOME%/PlugInsNew/XYZ整个目及文件

  8. 重新启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/LinuxWindowsMacOS 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 ExplorerNavigator视图中,中你的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>

  可以配置的信息包括如上所示的四个选项的相关设置:

  1. Run FindBugs Automatically开关

    当此项选中后,FindBugs将会在你修改Java类时运行,如你置了Eclipse动编译开关后,当你修改完Java文件保存,FindBugs就会运行,并将相的信息示出来。

    当此没有中,你只能次在需要的候自己去运行FindBugs检查你的代

  2. Minimum priority to report选择项

    选择项选择哪个级别的信息示,有LowMediumHigh三个选择项可以选择,很似于Log4J级别设置啦。 比如:

    选择High选择项,那只有是High级别的提示信息才会被示。

    选择Medium选择项,那只有是MediumHigh级别的提示信息才会被示。

    选择Low选择项,那所有级别的提示信息都会被示。

  3. Enable bug categories选择项

    里是一些Bug选择

    Correctness
    于代正确性相方面的

    Performance
    于代性能相方面的

    Internationalization
    于代化相方面的

    Multithreaded correctness
    于代线程正确性相方面的

    Style
    于代码样式相方面的

    Malicious code vulnerability
    意破坏代方面的

    比如:如果你把Style检查框去掉不选择中它,那Style的警告信息就不会示了。其它的似。

  4. Select bug patterns to check for选择项

    里你可以选择所要检查的相Bug Pattern条目

    可以从Bug codesDetector nameDetector description中看到相的是要检查哪些方面的内容,你可以根据需要选择或去掉相检查条件。

  总结

  此插件的功能很不,可以帮助我提升Java写能力,写出更加安全可靠的代。建使用或加在Ant行持构建。

  在,你可以上拿出你已经开发的一个目,检查一下你的代有没有问题

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics