一、简介
Findbugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。利用这个工具,就可以在不实际运行程序的情况对软件进行分析。它可以帮助改进代码的质量。
Findbugs提供了方便操作的可视化界面,同时也可以作为Eclipse的一个插件来使用,而我们使用得最多的还是作为Eclipse的插件来使用。
二、使用方法
Findbugs可以通过三种方法使用,可以通过Ant工具,通过Ant提供的Swing操作界面和作为Eclipse的一个插件来使用。
1. Ant工具
Ant是一个很好的Java自动执行工具。
Findbugs官方提供了Ant的findbugs操作方法,我们可以通过这样一个build.xml文件来使用findbugs。
<project name="项目名" default="all">
<property name="findbugs.home" value="findbugs解压路径" />
<path id="findbugs.path">
<fileset dir="findbugs解压路径">
<include name="**/*.jar" />
</fileset>
</path>
<taskdef name="findbugs"
classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
classpathref="findbugs.path" />
<!-- 定义findbugs的home,findbugs的task要使用 -->
<target name="findbugs">
<findbugs home="${findbugs.home}"
output="xml:withMessages" outputFile="生成的文件">
<!-- 以上定义findbugs查找的类路径 -->
<auxClasspath path="${findbugs.home}/lib/findbugs-ant.jar" />
<auxClasspath>
<fileset dir="lib"
includes="*.jar" />
</auxClasspath>
<sourcePath path="源文件路径" />
<class location="生成类路径" />
</findbugs>
</target>
</project>
比如:我这里有一个我放在博客上的项目的findbugs的ant操作的build文件。
<project name="Calendar" default="all">
<property name="findbugs.home" value="../../findbugs-1.3.8" />
<path id="findbugs.path">
<fileset dir="../../findbugs-1.3.8">
<include name="**/*.jar" />
</fileset>
</path>
<taskdef name="findbugs"
classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
classpathref="findbugs.path" />
<!-- 定义findbugs的home,findbugs的task要使用 -->
<target name="findbugs">
<mkdir dir="target/findbugs"/>
<findbugs home="${findbugs.home}"
output="xml:withMessages" outputFile="target/findbugs/calendar-fb.xml">
<!-- 以上定义findbugs查找的类路径 -->
<auxClasspath path="${findbugs.home}/lib/findbugs-ant.jar" />
<auxClasspath>
<fileset dir="lib"
includes="*.jar" />
</auxClasspath>
<sourcePath path="src" />
<class location="target/classes" />
</findbugs>
</target>
</project>
设置好Ant的环境后,在命令中使用ant -f build.xml,或者在Eclipse直接运行build.xml文件,运行后生成了一个xml文件,如果你想用Html的格式查看findbugs的结果,可以把output属性设为:html。这样就可以通过Html来查看findbugs的结果了。
2. 提供的Swing工具
Ant操作是专家级的操作,一般对于Java不是很熟悉的人,写build.xml文件。比起Ant来,使用Findbugs提供的Swing工具会使Findbugs的操作更加简单。运行Findbugs解压包中的bin文件夹下的findbugs.bat文件。
Findbugs的Swing工具初始主界面如下:
在分析项目之前,我们必须要新建一个项目来分析,选择文件->新建
显示新建项目的界面如下图:
然后添加要分析的类包和目录(可以选择编译好的类所在的文件夹,也可以选择生成的jar包),再添加辅助类所在的文件夹和源文件所在的文件夹(java文件所在的文件夹)。再点击完成就可以建立一个要分析的项目。
建立项目后,会自动先自动开始解析项目。
解析后界面:
其中左边是缺陷的树结构列表,点击其中一个Bug,可以在右边的界面中,显示Bugs的源文件以及所在的位置。
2.3 Findbugs Eclipse插件
Eclipse的Findbugs插件,可以将Findbugs集成到Eclipse中使用。
2.3.1 Findbugs的Eclipse插件安装方法
1. 在线安装
安装地址:http://findbugs.cs.umd.edu/eclipse
2. 离线安装
下载Findbugs插件,将它放入Eclipse下的plusin文件夹,然后重启Eclipse
2.3.2 Findbugs的Eclipse插件使用
安装了Findbugs插件后。右击点击你要检查的项目选择【Find Bugs】->【Find Bugs】进行检查。
要查看Findbugs检查出了哪些Bug,可以选择Windows菜单->Show View->Bug Explorer,打开Bug Explorer面板。
如果想要查看某个Bug详细的信息,则可以选择Windows菜单->Open Perspective,然后选择FindBugs就可以打开FindBugs的Properties面板,在这个面板里面可以看到最详尽的Bugs信息。
分享到:
相关推荐
你还可以参考`FindBugs 规则整理_中文版`文档来了解bug的背景和解决方法。 通过这种方式,FindBugs可以帮助开发者提高代码质量,提前发现潜在的问题,避免在运行时出现不必要的错误。使用FindBugs插件是Java项目...
4. **验证安装**: 安装完成后,可以在终端或命令提示符中输入`findbugs`命令,如果一切正常,你应该能看到FindBugs的帮助信息。 **二、FindBugs的使用** 1. **命令行使用**: 在命令行中,你可以使用`findbugs`命令...
**Java代码分析工具FindBugs:安装与使用详解** FindBugs是一款强大的静态代码分析工具,主要用于检测Java程序中的潜在缺陷。它通过分析字节码而非源代码来查找可能的问题,帮助开发者在运行阶段之前发现并修复代码...
### FindBugs安装与基本使用指南 #### 一、FindBugs简介 FindBugs是一款强大的静态代码分析工具,能够帮助开发者发现Java程序中的潜在错误和编程缺陷。它通过分析程序的字节码来查找可能导致错误的行为模式,从而...
【FindBugs安装及使用说明】 1. 简介 FindBugs是一款静态代码分析工具,用于检测Java代码中的潜在错误和不良编程习惯。它通过分析字节码而非源代码来查找可能的问题,帮助开发者在编码阶段就发现并修复问题,从而...
在 Eclipse 中安装 FindBugs 很简单,可以通过 Eclipse 的“帮助” -> “Eclipse Marketplace”搜索 FindBugs 并按照提示进行安装。安装完成后,可以在 Eclipse 的“Project Explorer”中右键选择项目,然后点击...
- 安装Eclipse插件:通过导入edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821.zip,将FindBugs集成到Eclipse开发环境中。 - 分析项目:选择要分析的Java项目,运行FindBugs,工具会自动扫描并列出所有检测到的...
包含翻译后的API文档:findbugs-annotations-1.3.9-1-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.github.stephenc.findbugs:findbugs-annotations:1.3.9-1; 标签:stephenc、github、findbugs、...
描述中提到的"用于findbugs安装配置,及findbugs结果导出分析文档",意味着这个压缩包不仅提供了FindBugs的基础软件,还可能包含配置文件、示例、或者说明文档,帮助用户安装、配置FindBugs,并理解其分析结果。...
这份文档可能是华为公司内部整理的FindBugs使用指南,包含了如何配置FindBugs、如何解读分析结果、如何解决找出的问题等实用信息。华为这样的大型企业通常会有严格的代码质量标准,因此这份文档可能具有较高的实践...
myeclipse 和 eclipse 集成插件
- **下载安装**:你可以从提供的`findbugs-1.3.9.rar`和`77433624findbugs-1.3.9.zip`文件中选择一个进行下载,解压后按照`Findbugs安装及使用说明1.doc`文档的步骤进行安装。对于Eclipse用户,可以找到并安装...
包含翻译后的API文档:findbugs-annotations-1.3.9-1-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:com.github.stephenc.findbugs,artifactId:findbugs-annotations,version:1.3.9-1 ...
7. **学习资源**:FindBugs社区提供了丰富的文档和示例,帮助开发者理解每个警告的具体含义,以及如何避免类似的问题。 通过使用FindBugs-IDEA插件,开发者不仅可以及时发现和修复编程错误,还能提高代码质量,遵循...
安装完成后,在项目中右键选择“FindBugs”菜单,即可启动分析。分析完成后,FindBugs会在项目中生成一个报告,显示所有检测到的问题,包括错误(Bug)、警告(Warning)和可能的问题(Possibility)。每个问题都配...
4. **使用 Ant 运行 Findbugs**:Findbugs 提供了使用 Ant 脚本来自动化执行检查的功能,具体方法可以在其文档中找到。 综上所述,Findbugs 作为一种强大的静态代码分析工具,在提升代码质量和预防编程错误方面发挥...
5. `doc`: 可能包含插件的文档或API参考,帮助用户理解和使用FindBugs插件。 深入研究这个版本的源代码,我们可以了解到FindBugs如何与Eclipse的生命周期相结合,如何接收和处理用户的输入,以及如何将分析结果以...
包含的"使用说明.txt"文件提供了详细的使用指南,通常包括安装步骤、配置方法、运行分析和结果解读等内容。按照说明,开发者可以快速上手,将FindBugs集成到自己的开发流程中。 5. **findbugs-3.0.1** 这个文件是...
"findbug安装.doc"文档可能包含了详细的安装步骤和注意事项,而"使用文档.doc"则可能涵盖了如何使用FindBugs进行代码分析、解读分析结果、设置首选项等内容。这两份文档对于初学者来说是非常宝贵的参考资料,可以...