`
zhaohaolin
  • 浏览: 1012572 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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目录下去。

  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目录,目录里面是eclipse目录,eclipse目录包含有features与plugins两个子目录;结构如下图所示:

      
  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插件,如下图所示:

  

  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为什么会对你的代码报警告信息,及相应的处理办法,根据它的提示,你可以快速方便地进行代码修改。

  

  根据提示,我们将代码修改成如下,再运行就不会报有警告信息了。

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

  

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

  1. Run FindBugs Automatically开关

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

    当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。

  2. Minimum priority to report选择项

    这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如:

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

    你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。

    你选择了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 codes、Detector name、Detector description中看到相应的是要检查哪些方面的内容,你可以根据需要选择或去掉相应的 检查条件。

  总结

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

分享到:
评论

相关推荐

    findbugs eclipse插件

    **findbugs eclipse插件** 是一个非常重要的工具,主要用于帮助开发者在Eclipse集成开发环境中发现潜在的代码问题和错误。FindBugs是一款静态代码分析工具,它可以分析Java代码,找出可能存在的bug、不良编程习惯...

    eclipse插件findbugs

    总的来说,Eclipse 插件 FindBugs 是一个强大的代码质量检测工具,它可以帮助开发人员在编码阶段就发现潜在的问题,从而提高软件的质量和可靠性。通过深入学习和使用 FindBugs,开发者可以更好地理解和优化他们的...

    eclipse插件findBugs

    "Eclipse插件FindBugs"是一个用于静态代码分析的强大工具,旨在帮助开发者在运行程序之前发现潜在的bug和代码质量问题。Eclipse是一个广泛使用的Java集成开发环境(IDE),而FindBugs插件则为其增添了一个重要的功能...

    findbugs 最新eclipse插件

    总的来说,使用Findbugs最新Eclipse插件能够提升代码质量,降低软件缺陷,提高开发效率,尤其对于大型企业如华为,这类工具的使用是确保软件工程规范性和稳定性的重要手段。通过深入理解和充分利用这个插件,开发者...

    findbugs应用eclipse的插件

    findbugs 代码检查 eclipse插件 3.0.0版本

    Eclipse FindBugs插件安装指南

    通过集成 FindBugs 插件,Eclipse 可以在开发过程中自动检测 Java 代码中的潜在错误,帮助开发者提高代码质量和程序稳定性。正确地安装和配置 FindBugs 插件不仅能够提高开发效率,还能减少后期调试的成本。此外,...

    eclipse findbugs 插件

    总的来说,Eclipse FindBugs插件是Java开发不可或缺的工具,它通过静态分析提供有价值的反馈,帮助开发者遵循最佳实践,避免常见的编程陷阱。通过正确安装和配置,开发者可以充分利用这个插件提升开发效率和软件质量...

    eclipse中findbugs插件

    FindBugs插件是将FindBugs工具集成到Eclipse中的一个扩展,使得用户在开发过程中可以方便地检查代码问题。 安装FindBugs插件的过程相对简单。首先,你需要下载`edu.umd.cs.findbugs.plugin.eclipse_3.0.1.20150306-...

    详解eclipse插件findbugs新规则的开发过程

    《详解Eclipse插件FindBugs新规则的开发过程》 在软件开发中,代码质量是衡量项目健康度的重要指标之一。FindBugs是一款强大的静态代码分析工具,它能够检测Java代码中的潜在错误,帮助开发者在运行时之前发现并...

    checkstyle和findBugs插件 eclipse插件

    本文将详细介绍两个重要的Eclipse插件:Checkstyle和FindBugs。 1. Checkstyle Checkstyle是一款静态代码分析工具,用于检测Java源代码中的潜在问题和不符合编码规范的地方。通过定义一套检查规则,Checkstyle可以...

    eclipse插件 findBugs 最新版

    **Eclipse插件FindBugs详解** FindBugs是一款强大的静态代码分析工具,专为Java开发者设计,用于在代码执行前检测潜在的错误和不良编程习惯。它通过深入解析字节码来查找可能的问题,而无需实际运行程序。Eclipse...

    eclipse插件findbugs(两个版本)

    FindBugs插件是Eclipse中的一个扩展,它可以集成到开发环境中,实时分析项目源代码,找出可能存在的错误、漏洞和性能问题。这些错误可能包括空指针异常、资源泄露、并发问题等。通过使用FindBugs,开发者可以在编写...

    findbugs 代码检查 eclipse插件 3.0.0版本

    http://sourceforge.jp/projects/sfnet_findbugs/downloads/findbugs%20eclipse%20plugin/3.0.0/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140629-84d758f.zip/ 安装方法:直接解压后放到eclipse/plugin目录下...

    android eclipse 插件 findbugs 3.0 linux

    **Android与Eclipse插件FindBugs 3.0在Linux环境中的应用** FindBugs是一款强大的静态代码分析工具,专用于检测Java程序中的潜在错误和不良编程实践。在Android开发环境中,它作为Eclipse插件,能为开发者提供一个...

    Eclipse插件_FindBugs

    安装方法: 下载文件后,解压edu.umd.cs.findbugs.plugin.eclipse_1.3.5.20080913内文件至Eclipse安装目录下的plugins文件夹,重启Eclipse。

    eclipse插件FindBugs错误分析说明

    Eclipse插件FindBugs是一个静态代码分析工具,它通过扫描Java代码,检测程序中的潜在bug、代码异味以及不符合编码规范的地方。以下是一些常见FindBugs错误的解释和修改建议。 1. EC_UNRELATED_TYPESBug 错误描述:...

    eclipse代码质量检测插件findbugs1.3.9

    这个文件是一个Eclipse插件的更新站点文件,包含了FindBugs的所有组件。 2. **在Eclipse中安装** - 打开Eclipse,进入“Help” -> “Install New Software”。 - 在“Work with”下拉框中选择“Add”,输入插件的...

Global site tag (gtag.js) - Google Analytics