本文介绍如何利用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里进行持续构建。
现在,你可以马上拿出你已经开发的一个项目,检查一下你的代码有没有问题了。
<!--文章其他信息-->
分享到:
相关推荐
FindBugs是一款静态代码分析工具,它可以分析Java代码,找出可能存在的bug、不良编程习惯以及设计缺陷。由于其强大的检测能力和高度可定制性,它在软件质量控制和代码优化方面被广泛应用。 **安装过程**: 1. 通常...
FindBugs是一款非常知名的静态代码分析工具,专用于检测Java代码中的潜在错误和不良编程习惯。在Java开发中,FindBugs能够帮助开发者在代码执行之前发现潜在的问题,从而提高软件质量和可维护性。该工具的1.3.9版本...
FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定...
FindBugs不仅仅是一个简单的静态代码分析工具,它还支持多种插件扩展,如与其他持续集成工具的集成,使得在整个软件开发生命周期中都能进行代码质量控制。此外,FindBugs还能够检测出一些JDK库中的已知问题,帮助...
FindBugs是一款开源的静态代码分析工具,专用于检测Java代码中的潜在错误和不良编程习惯。FindBugs 1.3.4是该工具的一个较早版本,它为开发人员提供了一种有效的方式,以便在代码执行之前找出可能的问题,从而提高...
通过集成 FindBugs 插件,Eclipse 可以在开发过程中自动检测 Java 代码中的潜在错误,帮助开发者提高代码质量和程序稳定性。正确地安装和配置 FindBugs 插件不仅能够提高开发效率,还能减少后期调试的成本。此外,...
FindBugs是一款强大的静态代码分析工具,专用于检测Java程序中的潜在错误和不良编程实践。在Android开发环境中,它作为Eclipse插件,能为开发者提供一个更高效、便捷的方式来查找和修复代码中的bug,特别是那些可能...
FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的...
Eclipse 插件 FindBugs 是一款用于静态代码分析的工具,它可以帮助开发者在程序运行前发现潜在的错误和不良编程习惯。FindBugs 能够检查 Java 代码,并识别出可能的问题,如空指针异常、未初始化的变量、线程安全...
"Eclipse插件FindBugs"是一个用于静态代码分析的强大工具,旨在帮助开发者在运行程序之前发现潜在的bug和代码质量问题。Eclipse是一个广泛使用的Java集成开发环境(IDE),而FindBugs插件则为其增添了一个重要的功能...
FindBugs就是这样一款强大的开源静态分析工具,它能检测出Java代码中的潜在错误和不良编程习惯。本文将详细介绍如何在Eclipse集成环境中安装和使用FindBugs插件,以及该插件的功能和优势。 一、FindBugs概述 ...
**Java代码分析工具FindBugs:安装与使用详解** FindBugs是一款强大的静态代码分析工具,主要用于检测Java程序中的潜在缺陷。它通过分析字节码而非源代码来查找可能的问题,帮助开发者在运行阶段之前发现并修复代码...
为了确保代码的质量,开发者通常会采用各种静态代码分析工具,其中FindBugs就是一款非常受欢迎的Java代码检测工具。FindBugs能够通过静态分析的方式,找出潜在的错误和不良编程习惯,而无需实际运行程序。 FindBugs...
本文将深入探讨三个重要的静态代码分析工具:Checkstyle、PMD和FindBugs,它们都是Eclipse插件,能帮助开发者在编码阶段发现潜在的问题,避免在后期维护时遇到麻烦。以下是对这三个工具的详细介绍以及如何在Eclipse...
Eclipse插件FindBugs是一个静态代码分析工具,它通过扫描Java代码,检测程序中的潜在bug、代码异味以及不符合编码规范的地方。以下是一些常见FindBugs错误的解释和修改建议。 1. EC_UNRELATED_TYPESBug 错误描述:...
FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时也可以...
FindBugs是一个静态代码分析工具,旨在检测Java代码中的潜在错误和不良实践。这个压缩包包含FindBugs插件的两个不同版本,分别是1.3.9和3.0.1,适用于Eclipse用户,帮助他们提升代码质量和可维护性。 1. FindBugs...
FindBugs是一款强大的静态代码分析工具,专为Java开发者设计,用于在代码执行前检测潜在的错误和不良编程习惯。它通过深入解析字节码来查找可能的问题,而无需实际运行程序。Eclipse作为广受欢迎的Java集成开发环境...