Java代码审查工具findbugs的使用总结
findbugs简介
Findbugs是一个Java代码静态分析工具,可以用它来检查源代码中可能出现的问题,以期尽可能在项目的初始阶段将代码问题解决。
FindBugs检查的是类或者JAR文件即字节代码(*.class),将字节码与一组缺陷模式进行对比以发现可能的问题;许多我们写的不好的可以优化的地方,它都能检查出来并给建议,比如未关闭的数据库连接、缺少必要的null check、多余的 null check、多余的if后置条件、重复的代码块、错误的使用了"==",建议使用StringBuffer代替字符串连加等等。而且我们还可以自己配置检查规则,也可以自己来实现findbugs的接口,以便独有的校验规则。
下载findbugs
点击这里到最新版本的findbugs下载页面,我下载的是"findbugs-3.0.0-rc1.tar.gz",(windows下使用)解压后运行bin\findbugs.bat,即可看到如下界面:

可以通过“文件”->"新建":

分别选择“要分析的类包和目录”、”辅助类的位置“、“源文件目录”,然后“Analyze”:
我们更常用的方式是使用它的eclipse插件,因为这种方式手动选择类和源文件以及辅助类,都是比较麻烦的事。
在eclipse使用findbugs插件
可以使用下面的地址安装findbugs插件:
- http://findbugs.cs.umd.edu/eclipse/ Only provides official releases of FindBugs.
- http://findbugs.cs.umd.edu/eclipse-candidate/ Provides official releases and release candidates of FindBugs.
- http://findbugs.cs.umd.edu/eclipse-daily/ Provides the daily build of FindBugs. No testing other than that it compiles.
你也可以手动下载插件: http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download.
安装后需要设置一下,否则你在"Bug Explorer"中看不到bugs:

然后在项目上右键:

执行后,需要打开“Bug Explorer”:Windows -> Show View -> Other :

即可看到如下图:

PS:一定要设置下一下,我之前没设置在Bug Explorer中死活不显示找到的Bug!!
上一步的设置是findbugs的全局设置,也可以对项目单独设置:项目上右键 -> Properties :

maven的findbugs插件
使用findbugs的maven插件也非常方便,需要为pom.xml的project添加如下子节点:
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.2</version>
</plugin>
</plugins>
</reporting>
maven命令:
mvn findbugs:findbugs
结果显示:

此时会在target目录会生成文件:findbugsXml.xml,可以用findbugs打开以便可视化分析。
Java代码审查工具findbugs的使用总结的更多相关文章
- 【转】高效Java编程工具集锦
原文地址:http://geek.csdn.net/news/detail/57469 Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松.目前,市面上涌现出越来越多的高 ...
- 代码审查工具之PMD操作指南
上周客户要求对OA系统的代码质量进行了一个整体审查,并且要出一份报告给领导. 为此花了半天时间把代码审查工具PMD琢磨了下,现将具体操作步骤描述如下,以供大家参考! 1 前言 质量是衡量一个软件是否成 ...
- [转载] Jupiter代码审查工具使用参考
转载自http://blog.csdn.net/jemlee2002/article/details/5715355 一. Jupiter 是什么? 这里的 Jupiter 是一个开源的代 ...
- 【java工具】java常用工具
java反编译工具 可以将看不懂的.class文件转换成看得懂的.java文件,这样一来就能很方便的读懂别人编写的java代码. findbugs FindBugs-IDEA插件的使用 阿里巴巴Jav ...
- 8个超实用的Java测试工具和框架
Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runtime Environme ...
- Jupiter Code Review Reference -- Jupiter代码审查工具使用参考
Jupiter Code Review Reference -- Jupiter代码审查工具使用参考 (修改版) 原创 2010年07月06日 10:43:00 标签: 审查 / reference ...
- Java开发工具安装步骤内容如下
Java开发工具安装步骤内容如下 安装 开发工具 STS 链接下载网址 eclipse 链接下载网址 JDK安装 jdk链接下载地址 Marven环境 marven链接下载地址 Tomcat tomc ...
- 静态代码审查工具FxCop插件开发(c#)
FxCop是一款微软官方提供的.net平台代码审查工具,目的是检查我们编写的程序集的代码是否符合规范.FxCop默认提供的是微软默认的审查规则,而且该规则符合<Framework DesignG ...
- JAVA开发工具eclipse中@author怎么改
1:JAVA开发工具eclipse中@author怎么改,开发的时候为了注明版权信息. 用eclipse开发工具默认的是系统用户,那么怎么修改呢 示例如图所示 首先打开Eclipse--->然后 ...
随机推荐
- 最简化模型2——css3分阶段动画效果(经过实测)之转动的div
@keyframes mymove{ 0%{top: 0;left: 0;transform:rotate(50deg);} 10%{top: 100px;left: 50px;trans ...
- 使用ProgressDialog创建进度对话框
ProgressDialog代表了进度对话框,程序只要创建ProgressDialog实例,并将它显示出来就是一个进度对画框.使用ProgressDialog创建进度对话框有如下两种方式. ①如果只是 ...
- Android中的AutoCompleteTextView的使用
最终的效果如下: main.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLa ...
- MAC的VIMRC
set nocompatible " 关闭 vi 兼容模式 syntax on " 自动语法高亮 " color ...
- WebForm 全局对象、commend
Repeater的增删改 内置对象:页面之间的数据交互为什么要用这些玩意? HTTP的无状态性 Response:响应请求 Request:获取请求 Cookies:保存登录状态----------- ...
- Webservice_常用
官网示例: http://cxf.apache.org/docs/writing-a-service-with-spring.html http://cxf.apache.org/docs/jax-r ...
- 【踩坑速记】MIUI系统BUG,调用系统相机拍照可能会带给你的一系列坑,将拍照适配方案进行到底!
一.写在前面 前几天也是分享了一些学习必备干货(还没关注的,赶紧入坑:传送门),也好久没有与大家探讨技术方案了,心里也是挺痒痒的,这不,一有点闲暇之时,就迫不及待把最近测出来的坑分享给大家. 提起An ...
- uml系列(三)——用例图
用例图是从用户的角度出发,描述系统功能的.在软件开发过程中,开发人员首先获知用户的需求,然后设计用例模型,在分析并设计系统来实现这些用例.在系统完成后,还要根据用例图来对系统进行验证. 用例图主要介绍 ...
- openstack安装文档
#########################################openstack m版本部署安装################################## 控制节点.网络 ...
- React 国际化
前言 React 做国际化,我推荐使用 React-intl , 这个库提供了 React 组件和Api两种方式来格式化日期,数字和字符串等.知道这个库了,那让我们开始使用它 组件用法 为了和Reac ...