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插件:

  1. http://findbugs.cs.umd.edu/eclipse/ Only provides official releases of FindBugs.
  2. http://findbugs.cs.umd.edu/eclipse-candidate/ Provides official releases and release candidates of FindBugs.
  3. 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的使用总结的更多相关文章

  1. 【转】高效Java编程工具集锦

    原文地址:http://geek.csdn.net/news/detail/57469 Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松.目前,市面上涌现出越来越多的高 ...

  2. 代码审查工具之PMD操作指南

    上周客户要求对OA系统的代码质量进行了一个整体审查,并且要出一份报告给领导. 为此花了半天时间把代码审查工具PMD琢磨了下,现将具体操作步骤描述如下,以供大家参考! 1 前言 质量是衡量一个软件是否成 ...

  3. [转载] Jupiter代码审查工具使用参考

    转载自http://blog.csdn.net/jemlee2002/article/details/5715355 一.       Jupiter 是什么? 这里的 Jupiter 是一个开源的代 ...

  4. 【java工具】java常用工具

    java反编译工具 可以将看不懂的.class文件转换成看得懂的.java文件,这样一来就能很方便的读懂别人编写的java代码. findbugs FindBugs-IDEA插件的使用 阿里巴巴Jav ...

  5. 8个超实用的Java测试工具和框架

    Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runtime Environme ...

  6. Jupiter Code Review Reference -- Jupiter代码审查工具使用参考

    Jupiter Code Review Reference -- Jupiter代码审查工具使用参考 (修改版) 原创 2010年07月06日 10:43:00 标签: 审查 / reference  ...

  7. Java开发工具安装步骤内容如下

    Java开发工具安装步骤内容如下 安装 开发工具 STS 链接下载网址 eclipse 链接下载网址 JDK安装 jdk链接下载地址 Marven环境 marven链接下载地址 Tomcat tomc ...

  8. 静态代码审查工具FxCop插件开发(c#)

    FxCop是一款微软官方提供的.net平台代码审查工具,目的是检查我们编写的程序集的代码是否符合规范.FxCop默认提供的是微软默认的审查规则,而且该规则符合<Framework DesignG ...

  9. JAVA开发工具eclipse中@author怎么改

    1:JAVA开发工具eclipse中@author怎么改,开发的时候为了注明版权信息. 用eclipse开发工具默认的是系统用户,那么怎么修改呢 示例如图所示 首先打开Eclipse--->然后 ...

随机推荐

  1. Java中间件:淘宝网系统高性能利器(转)

    淘宝网是亚太最大的网络零售商圈,其知名度毋庸置疑,吸引着越来越多的消费者从街头移步这里,成为其忠实粉丝.如此多的用户和交易量,也意味着海量的信息处理,其背后的IT架构的稳定性.可靠性也显得尤为重要.那 ...

  2. 读【10问PHP程序员】 有感

    http://bbs.phpchina.com/thread-174331-1-1.html 看到前人的文章,总结自己的学习心得,颇有感悟,下面是自己的总结,平时就拿出来多问问自己.1.上了十几年的学 ...

  3. AngularJS最理想开发工具WebStorm

    http://blog.fens.me/angularjs-webstorm-ide/ Angularjs插件下载地址:http://plugins.jetbrains.com/plugin/6971 ...

  4. 判断js对象的数据类型,有没有一个最完美的方法?

    先来一个例子: var string1=""; var string2=new String(""); alert(typeof string1); // st ...

  5. GCD教程(三):Dispatch Sources

    接上一篇,原帖地址:http://www.dreamingwish.com/dream-2012/intro-to-grand-central-dispatch-part-iii-the-dispat ...

  6. 在代码中控制UI界面

    虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面. 实例:用编程的方式开发UI界面 packa ...

  7. 计算数据库中30天以内,30-60天,60-90天,90天以外的数据的个数(用sql实现)

    30天以内:select count(*) from TB where datediff(day,字段名,getdate()) between 0 and 3030-60天:select count( ...

  8. doubango(5)--SIP协议栈传输层的启动

    SIP协议的INVITE消息发起流程 当通过sip协议发起一个会话时,需要通过invite消息实现该流程.而SIP协议是一个基于事务的协议,每一个sip会话的都是通过sip部件间的一系列消息来完成的. ...

  9. HDU5878(打表)

    I Count Two Three Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  10. u3d脚本生命周期