`
kfy31kfy
  • 浏览: 16952 次
社区版块
存档分类
最新评论

Eclipse插件之Java代码分析工具: FindBugs

 
阅读更多

Eclipse插件之Java代码分析工具: FindBugs
2010年06月20日
  本文介绍如何利用Eclipse插件FindBugs在Eclipse中的使用。
  正在装载数据……
  Eclipse是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化的工作环境。
  问题提出: 
  当我们编写完代码,做完单元测试等各种测试后就提交正式运行,只能由运行的系统来检测我们代码是否有问题了,代码中隐藏的错误在系统运行的过程中被发现后,然后再来进行相应的修改,那么后期修改的代价就相当高了。
  解决方法:
  现在有很多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 下载
  技巧 
  Eclipse使用技巧之插件管理
  提示:新下载的插件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的文件 
  然后在%ECLIPSE_HOME%\links目录里建立一个XYZ.link的文件 
  内容如是:path=E:/OpenSource/Eclipse/PlugInsNew/XYZ就一行这样的路径指示而已。 
  这样,如果你下载了多个插件就可以如法炮制建立多个Link文件,想加载哪个插件就把哪个插件的Link文件放到%ECLIPSE_HOME%\links的目录中即可,使用与管理都很方便,建议千万不要放在默认的安装目录中; 
  如果你的%ECLIPSE_HOME%与此不同,请修改XYZ.link文件里的路径
  删除,关闭Eclipse 
  删除%ECLIPSE_HOME%\links\XYZ.link文件即可 
  删除%ECLIPSE_HOME%\PlugInsNew\XYZ整个目录及文件
  重新启动Eclipse即可 
  使用 
  FindBugs插件安装方法采用上一节的《Eclipse使用技巧之插件管理》
  重新启动Eclipse后,在Help => About Eclipse SDK => Plug-in 
  Details你可以看到由"FindBugs Project"提供的"FindBugs Plug-in"版本0.0.17插件,如下图所示:
  介绍 
  FindBugs是一个可以在Java程序中发现Bugs的程序。 
  它是专门用来寻找处于"Bug Patterns"列表中的代码的。 
  Bug Patterns指很有可能是错误的代码的实例。
  原文:FindBugs is a program to find bugs in Java programs. It looks for 
  instances of "bug patterns" --- code instances that are likely to be 
  errors.
  目前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视图里出现的相应问题,就会在代码编辑器里切换到相应的代码上去,方便根据相应的提示信息进行代码的修改。 
  will point to locations in your code which have been identified as 
  potential instances of bug patterns.
  在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 =>
  可以配置的信息包括如上图所示的四个选项的相关设置:
  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里进行持续构建。 
  现在,你可以马上拿出你已经开发的一个项目,检查一下你的代码有没有问题了。
分享到:
评论

相关推荐

    java代码检查工具 findBugs eclipse插件1.39最新

    FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定...

    findbugs-1.3.9 java代码检查工具以及eclipse插件

    findbugs-1.3.9 java 代码检查工具 eclipse插件 这是一款java代码检查工具,可以提出相应的修改意见,大部分意见还是挺好的。

    FindBugs_Java静态代码分析工具_eclipse插件

    FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的...

    eclipse(4)-FindBugs 插件

    FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时也可以...

    findbugs3.0.2插件 myeclipse

    FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时...

    findbugs插件 myeclipse

    indBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时也可以...

    eclipse上findbugs查件

    FindBugs 是 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时也可以作为 Eclipse插件使用。文本...

    eclipse插件套装-1

    eclipse插件套装 一、包括: PMD findbugs ...用来生成java类图eclipse插件。直接通过link文件方式安装 三、包括 org.holon.statistic.lines_1.0.0 代码统计插件。直接将该包放到features中安装即可。

    findBugs静态代码测试工具

    Eclipse插件,用来做Java代码的静态测试

    findBugs插件 正式版eclipse,附带说明使用以及下载好的附件,直接替换即可完成

    一款EcliPSe插件,能够发现java代码中的bug,针对各种问题,它并且提供了简单的修改意见供我们重构时进行参考; 通过使用它,可以一定程度上降低我们code review的工作量,并且会提高review效率。 通过findbugs找到...

    Find Bugs使用方法

    FindBugs是业界使用最广泛的一款 java代码静态检测工具,它可以帮助java工程师提高代码质量以及排除隐含的缺陷,FindBugs检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,...

    config:IntelliJ、Eclipse 和 Maven 静态分析配置(Checkstyle、PMD 和 FindBugs)

    Java 项目模板用于配置最重要的静态代码分析工具的示例 Java 项目。 该项目可以导入 IntelliJ 和 Eclipse。 同时将项目配置为Maven项目,这样可以在IntelliJ、Eclipse和Maven 1:1下使用相同的配置。 包括以下要点: ...

    Idea代码走查工具FindBus使用以及缺陷分析(含插件)

    FindBugs是一个静态分析工具,用于在Java程序中发现可能存在的bug。它通过检查类或者JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs不注重代码风格和格式,而是专注于检测真正的bug及潜在的...

    findbugs-3.0.1.tar.gz

    FindBugs supports Java 8 now (both as runtime and target platform). FindBugs requires minimum Java 7 as runtime environment!...FindBugs是一个能静态分析源代码中可能会出现Bug的Eclipse插件工具。

    m2e-code-quality:一组M2Eclipse Eclipse插件,这些插件将配置从Checkstyle,FindBugs和PMD Maven插件传递到其相应的Eclipse插件

    另一方面,这些工具的Eclipse插件提供注释和问题编辑时的通知。 因此,这是合乎需要打开的Maven在M2E插件断,接通Eclipse插件,并且从Maven插件到Eclipse插件移动配置。 在理想情况下,将存在某种标准化的API,该...

    eclise插件findbugs最新版

    findbugs--Java代码分析工具,最新版,如果在官方网下载不了,可到这里进行下载!

    edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20130809

    FindBugs是一个能静态分析源代码中可能会出现Bug的Eclipse插件工具。 下载之后 将文件解压到plugins下面。 FindBugs地执行: 选中 所在项目,鼠标右键 > Find Bugs > Find Bugs执

    findbugs检查工具

    findbugs是一个开源的eclipse 代码检查工具;它可以简单高效全面地帮助我们发现程序代码中存在的bug,bad smell,以及潜在隐患. 下载的文件包含如下: 1.findbugs的eclipse插件source包 2.安装及使用说明文档

    fb-contrib-eclipse-quick-fixes:一个 Eclipse 插件,它将通过为 fb-contrib 错误检测器添加快速修复来扩展 FindBugs Eclipse 插件

    ##fb-contrib Eclipse 快速修复插件(简称 fb-contrib quickfixes) ## 这个存储库扩展了 提供的快速修复,以涵盖由 、 和 FindBugs 本身检测到的。 ##Installing the plugin##要安装这个项目,打开Eclipse,进入...

    Myeclipse6.5-findBugs插件,及暗转说明

    1, 把下载的压缩包(edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821.zip)解压后, copy到eclipse的plugin目录中去即可;(其中findbugs-2.0.1-source,是源码) 本人电脑安装时Myeclipse6.5,安装到了C盘,放在了...

Global site tag (gtag.js) - Google Analytics