一、简介
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.3 Findbugs Eclipse插件
Eclipse的Findbugs插件,可以将Findbugs集成到Eclipse中使用。
2.3.1 Findbugs的Eclipse插件安装方法
1. 在线安装
Help -> Software Update -> Find and Install... -> Search for new features to install -> Next -> New Remote Site ->
输入:
Name: FindBugs update site
安装地址: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安装帮助文档,配合安装文件
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是eclipse的插件,可以自动检测代码中的问题。
一个相当实用的代码检查小工具,文档中包含插件,复制后粘贴出来既可使用
用于findbugs安装配置,及findbugs结果导出分析文档
ftp://172.16.6.1:22/部门/统一开发环境/IDE/JAVA/eclipse plugin/findbugs-1.3.9.zip解压运行find
myeclipse 和 eclipse 集成插件
findbugs参考文档.zip
包含翻译后的API文档:findbugs-annotations-1.3.9-1-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:com.github.stephenc.findbugs,artifactId:findbugs-annotations,version:1.3.9-1 ...
FindBugs-IDEA-1.0.1插件,快速帮你找到各种常见错误,解决编译期的bug,亲测好用,特别是经常犯低级错误的(如:NullPointException)
本文档列出了FindBugs报告的标准缺陷模式,包括正确性、安全性、性能、多线程、坏味道代码等多个方面。 正确性: 1. AEC: Call to equals() with null argument:调用equals()方法时,参数为空,这可能会导致...
这个资源主要是在myeclipse10环境中安装findbugs工具,里面提供了findbugs适合myeclipse10版本的findbugs工具以及安装步骤说明文档。
一直在找Findbugs缺陷等级对照表,但是找到的大多都是英文的,这给因为不好的兄弟姐妹带来了一些困难,尤其是初学者,希望这个文档能给你们带来帮助!
findbugs是一个开源的eclipse 代码检查工具;它可以简单高效全面地帮助我们发现程序代码中存在的bug,bad smell,以及潜在隐患. 下载的文件包含如下: 1.findbugs的eclipse插件source包 2.安装及使用说明文档
文档是关于findbugs报告问题的解释,使用通俗易懂的描述让你快速定位问题和优化代码。
标签:findbugs、jsr305、google、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
包括以下工具: apache-ant-1.9.12-bin.tar.gz apache-maven-3.5.4-bin.tar.gz findbugs-3.0.1.tar.gz hadoop-2.6.4-src.tar.gz protobuf-2.5.0.tar.gz 还有一份hadoop编译文档,照着操作顺利编译,亲测可用。
标签:findbugs、jsr305、google、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...
SonarQube Spotbugs插件说明/功能该插件需要,并使用 , 和提供编码规则。用法在质量配置文件中,从Spotbugs,fb-contrib或Find Security Bugs规则存储库中激活一些规则,然后对项目进行分析。配置可以使用声纳Web...