现在在线安装有问题 使用eclipse3.7  这种情况大家使用离线安装吧!

一、简介

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信息。

转载于:https://blog.51cto.com/3237526/1611263

Java代码质量检测评估工具-Findbugs相关推荐

  1. java检测工具_常用Java代码质量检测评估工具

    常用Java代码质量检测评估工具 1. PMD from http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以下的潜在问题: 可能的bug--try/ca ...

  2. 【IDEA】代码质量检测工具 QAPLug

    [IDEA]代码质量检测工具 QAPLug 代码质量检测工具 情景: 写完代码一定要别人review才发现bug或不好的语法或多余的变量是一件多么尴尬的事情,如果想在写代码时或者写代码后自己能发现问题 ...

  3. java 代码解析工具_改善 Java 代码质量的工具与方法

    原标题:改善 Java 代码质量的工具与方法 我们可能见过上面的有关代码质量的图片,究竟如何衡量一段代码好坏? 代码质量是什么?为什么它很重要? 作家通过他的著作来讲述了一个清晰的.令人信服的故事.他 ...

  4. python代码检测工具及区别_flake8-python代码质量检测工具

    flake8是python代码质量检测工具. 描述 flake8是一个命令行实用程序,用于在整个Python项目中加强样式的一致性. 默认情况下,它包括PyFlakes项目提供的lint检查,PyCo ...

  5. 提高 Java 代码质量

    高质量代码中往往缺陷更少!确保高的 Java 代码质量有两个步骤:尽早并经常地编写各个层次的测试用例,以及持续的监测质量状况.那么我们又该如何实践呢?本专题汇集了大量来自代码质量专家们的专业经验.最佳 ...

  6. 代码质量检测-SonarQube

    文章目录 前言 一.SonarQube是什么? 二.SonarQube安装步骤 1.docker安装 2.docker-compose安装 3. 访问SonarQube 4. 配置SonarQube ...

  7. 代码质量检测(jacoco pmd pipeline)

    代码质量检测 一.静态代码分析 静态代码分析是指在不运行程序的前提下,对源代码进行分析或检查,范围包括代码风格.可能出现的空指针.代码块大小.重复的代码等. pipeline中,静态代码分析通常被安排 ...

  8. Gitlab集成阿里巴巴P3C-PMD代码质量检测插件

    1. 获取P3C-PMD (1) 下载源码 源码地址:https://github.com/alibaba/p3c p3c-pmd-2.1.1-jar.zip: https://pan.baidu.c ...

  9. 代码质量检测平台架构设计

    「前言」 你是否清楚的了解自己的项目有多少个文件夹.多少个文件.多少行代码.多少个函数.多少个字符数? 你是否在项目中引入过代码质量检测相关的工具? 你是否在不同项目的切换中饱受indent=2还是i ...

最新文章

  1. 解决Visual SVN在linux下不能访问的问题
  2. 如何查看keepalived版本号_Linux下Keepalived 安装与配置
  3. oracle类似sqlcmd工具,Oracle:是否有跟踪查询的工具,例如用于SQL Server的Profiler?...
  4. Vue运行报错webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
  5. 罗永浩:我今年四十八岁,还可以承受无数次的失败;iOS14 或将推出系统级「小程序」功能;​ PyCharm新版发布| 极客头条...
  6. mysql常用sql命令
  7. 西门子PLC中各个组织块OB作用
  8. 联合分布,边缘分布,条件分布,互信息
  9. java jxls导出excel
  10. 这37个自学网站,一年让你省下十几万。钱买辆车他不香嘛
  11. 微信小程序---搜索功能并跳转搜索结果页面
  12. React文件预览,React实现在线预览docx,xslx,pdf格式文件
  13. mac系统的alt+tab(切换程序)键是什么
  14. 数独游戏(回溯算法)
  15. python发送短信验证码_python发送短信验证码
  16. 《自来水哲学-松下幸之助自传》读后感
  17. 如何设计出色的网站后台原型?
  18. 第一阶段冲刺团队贡献值分析
  19. Redis主从与集群
  20. 大数据技术之_17_Storm学习_Storm 概述+Storm 基础知识+Storm 集群搭建+Storm 常用 API+Storm 分组策略和并发度

热门文章

  1. MySQL5.7 Group Replication (MGR)--Mysql的组复制之多主模式
  2. slatstack Master的配置
  3. Lintcode Subarray Sum Closest
  4. win8.1和wp8.1共用代码,需要注意的一些问题
  5. vue中axios的封装以及使用
  6. mysql复制架构迁移到pxc_2020-03-18 Mysql常见的HA中间层架构mmm,pxc,mha
  7. python调用库实现返回ping的时延_python网络作业:使用python的socket库实现ICMP协议的ping...
  8. Exploiting the Syntax-Model Consistency for Neural Relation Extraction-学习笔记
  9. Promise之异步调用
  10. css 设置背景图片模糊,内容不模糊