zoukankan      html  css  js  c++  java
  • Findbugs介绍及使用方法

      

    1.   简介

    Findbugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。利用这个工具,就可以在不实际运行程序的情况对软件进行分析。它可以帮助改进代码的质量。

           Findbugs提供了方便操作的可视化界面,同时也可以作为Eclipse的一个插件来使用,而我们使用得最多的还是作为Eclipse的插件来使用。

    2.   使用方法

    Findbugs可以通过三种方法使用,可以通过Ant工具,通过Ant提供的Swing操作界面和作为Eclipse的一个插件来使用。

    2.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.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安装与使用   http://beee.iteye.com/blog/1470698   https://blog.csdn.net/yj_android_develop/article/details/48545187

    findbugs常见Bug以及处理办法     https://wenku.baidu.com/view/b95eca005727a5e9856a6157.html

  • 相关阅读:
    11.11 程序员的 1111 种死法
    护航11.11,如何筑牢安全防御系统?
    如何应对大促流量洪峰?揭秘京东技术人的备战手册
    TIOBE 11 月编程语言:Java 首次跌出前二;基于Pytorch的Kornia可微分计算机视觉库开源
    会展云技术解读 | 面对突发事故,APP 如何做好崩溃分析与性能监控?
    “开源软件供应链点亮计划
    走进京东 | 中国空间技术研究院青年创新联盟成员莅临参观京东总部
    深度解读展会场景智能推荐搭建之路 | 会展云技术解读
    第一届“多模态自然语言处理研讨会”精彩回顾(免费获取PPT)
    AI 科学家带你快速 Get 人工智能最热技术
  • 原文地址:https://www.cnblogs.com/scios/p/5950093.html
Copyright © 2011-2022 走看看