1. 下载安装ant、findbugs

下载ant、findbugs最新压缩包解压到本地磁盘合适位置,比如:

D:\Program Files\apache-ant-1.9.7

D:\Program Files\findbugs-3.0.1

2.  配置环境变量

3.  编写build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="hsacct">
<path id="findbugs.path">
<fileset dir="D:/Program Files/findbugs-3.0.1">
<include name="**/*.jar" />
</fileset>
</path>
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
classpathref="findbugs.path" />
<property name="findbugs.home" value="D:/Program Files/findbugs-3.0.1" />
<target name="findbugs">
<findbugs home="D:/Program Files/findbugs-3.0.1" jvmargs="-Xmx1024m" output="html"
outputFile="D:/Program Files/findbugs-3.0.1/mytest.html">
<class location="D:/Offsite/Sources/mytest_main/mytest-account" />
<class location="D:/Offsite/Sources/mytest_main/mytest-acpt" />
<class location="D:/Offsite/Sources/mytest_main/mytest-act-account" />
<class location="D:/Offsite/Sources/mytest_main/mytest-act-common" />
<class location="D:/Offsite/Sources/mytest_main/mytest-arch" />
<class location="D:/Offsite/Sources/mytest_main/mytest-autotask" />
<class location="D:/Offsite/Sources/mytest_main/mytest-bankacct" />
<class location="D:/Offsite/Sources/mytest_main/mytest-cert" />
<class location="D:/Offsite/Sources/mytest_main/mytest-csdc" />
<class location="D:/Offsite/Sources/mytest_main/mytest-elig" />
<class location="D:/Offsite/Sources/mytest_main/mytest-ofsecu" />
<class location="D:/Offsite/Sources/mytest_main/mytest-preengage" />
<class location="D:/Offsite/Sources/mytest_main/mytest-prod" />
<class location="D:/Offsite/Sources/mytest_main/mytest-sdk" />
<class location="D:/Offsite/Sources/mytest_main/mytest-system" />
<auxClasspath path="D:/Program Files/findbugs-3.0.1/lib/findbugs-ant.jar" />
<auxClasspath>
<fileset dir="D:/Offsite/Sources/mytest_main/mytest/target/mytest-1.1.0/WEB-INF/lib" includes="**/*.jar" />
</auxClasspath>
<sourcePath path="D:/Offsite/Sources/mytest" />
</findbugs>
</target>
</project>

4.  生成报告

打开命令行,进入到build.xml文件所在文件夹,键入ant findbugs命令回车即可。

5.  部分属性参数说明

关于findbugs任务的详细说明,如下:

  class 嵌套元素指定要分析的类。这个元素必须指定一个location属性,location属性的名字为archive文件(jar,zip等)、目录或者class文件。
      可以为一个findbugs元素指定多个class元素。
  auxClasspath 可选的嵌套元素,用于指定要分析的类所引用的类,但是并不对引用的类进行分析。
  sourcePath 可选的嵌套元素,指定Java源代码的目录。
  home 必须的属性,findbugs的安装目录。
  quietErrors 可选的布尔型属性。如果是true的话,报告严重的分析错误和丢失的类。默认情况下为false。
  reportLevel 可选的属性。指定优先级别。如果是low的话,那么报告所有的bug,如果是medium(缺省值),报告medium和high优先级的bug。
  output 可选属性,设置输出格式
  stylesheet 可选属性,指定生成html时使用的样式表。
  sort 可选属性,如果输出属性设置为text,该属性指定是否对输出结果根据class进行排序,默认为true。
  outputFile 可选属性,指定输出文件。
  debug 可选的布尔型属性,是否打印分析过程中的日志。默认值为false。
  effort 设置分析工作的等级,可以为min、default和max。
  conserveSpace 和min effort一样的功能。
  workHard 和max effort一样的功能。
  visitors 可选属性,指定逗号分隔的列表,指定要运行的detectors。
  omitVisitors 可选属性,忽略detectors。折合visitors属性类似,只是不指定不运行哪些detectors。
  excludeFilter 可选属性,指定排除的Filter。
  includeFilter 可选属性,指定包含的Filter。
  projectFile 可选属性,指定项目的名称。
  jvmargs 可选属性,指定JVM变量。
  systemProperty 系统属性。
  timeout 可选属性,指定超市的时间,默认为600,000毫秒,即10分钟。
  failOnError 可选属性,指定是否在运行FindBugs出现异常时停止构建过程,默认为false。
  errorProperty 可选属性,如果在运行FindBugs时发生错误,指定属性的值为true。
  warningsProperty 可选属性,如果在运行FindBugs时发生警告,指定属性的值为true。

6.  可能遇到的问题

由于工程比较大,所以在导出html过程中可能会生成一个空白的html文件。此时将jvmargs参数值调大,比如jvmargs="-Xmx1024m"。

ant+findbugs 扫描代码生成报告的更多相关文章

  1. jmeter+ant+jenkins生产的报告乱码

    jmeter+ant+jenkins生产的报告乱码 问题:生产报告会乱码的问题,一般是有编码格式引起的.我遇到的问题是,jmeter需要读取csv的数据作为参数.但是我们并不知道csv保存是什么编码格 ...

  2. window 下 jmeter+ant 自动生成html报告并发送邮件

    一.安装ant 1.ant 下载地址:https://ant.apache.org/bindownload.cgi 2.下载完成解压到指定目录下 3.配置ant 环境变量 新建系统变量 -ANT_HO ...

  3. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  4. 【JMeter】ant+jmeter生成html报告

    源博文来自于  http://my.oschina.net/hellotest/blog/517518 主要应用于接口的回归或者性能的简单查看功能.操作为先在jmeter中写好测试计划,保存为jmx文 ...

  5. Ant打包Android代码生成apk文件

    可參考下面,实现一套代码不同渠道的打包 http://blog.csdn.net/liuhe688/article/details/6679879 http://cnn237111.blog.51ct ...

  6. 源代码扫描工具Fortify SCA与FindBugs的简单对比

    前段时间因为工作原因需要对java源代码进行扫描,现结合使用经验对静态代码扫描工具Fortify SCA与FindBugs进行一个简单的对比. 一.Fortify SCA Fortify SCA是由全 ...

  7. Jenkins+Ant+JMeter报告自动化

    1.参考Jenkins+Ant+JMeter集成,安装Jenkins(不需要安装Performance Plugin插件),建立Slave节点,连接Slave节点,创建任务等. 2.将Jenkins+ ...

  8. 提高代码质量 CheckStyle FindBugs PMD

    提高代码质量-工具篇 注:这是一篇翻译文章,原文:How to improve quality and syntax of your Android code,为了理解连贯,翻译过程中我修改了一些陈述 ...

  9. (转)定制findbugs规则

    转载自http://www.51testing.com/html/97/13997-211893.html 这类文章极少,字节码操作需要对becl库及jvm字节码操作有一定常识.参考: http:// ...

随机推荐

  1. 设计窘境:来自 Repository 的一丝线索,Domain Model 再重新设计

    写在前面 阅读目录: 疑惑解读 设计窘境 一幅图的灵感 为嘛还是你-Repository 后记 上一篇<No zuo no die:DDD 应对具体业务场景,Domain Model 重新设计& ...

  2. C#的网络适配器操作

    网络的相关设置在项目开发中有较多的应用,有时候需要在项目中对网络信息进行相关设置. 现在提供提供几种相关的辅助方法类. (1).IP地址 /// <summary> /// IP地址 // ...

  3. Oracle数据库的SQL分页模板

    在系统开发过程中,需要对数据进行查询,大部分情况下从数据库中查询的数据量比较大,在系统页面无法全部显示,而且查询全部的数据会影响系统的反应速度,需要对所查询的数据进行分页的查询操作,以此减轻系统的压力 ...

  4. IO多路复用之epoll总结

    1.基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本.相对于select和poll来说,epoll更加灵活,没有描述符限制.epoll使用一个文件描述符管理多个描述 ...

  5. 自定义angularjs分页控件

    继昨天写了knockoutjs+ jquery pagination+asp.net web Api 实现无刷新列表页 ,正好最近刚学习angularjs ,故琢磨着写一个angularjs版本的分页 ...

  6. Python_Day_01(使用环境为Python3.0+)

    Python 变量与赋值. Python在赋值时时不需要进行定义类型,可直接进行定义赋值. #直接赋值字符串格式 value = "Char" #直接赋值为数字 value = 1 ...

  7. 使用EDMX查询(EF基础系列15)

    EF支持三种类型的查询: 1.LINQ to Entities 2.Entity SQL 3.Native SQL 1.LINQ to Entities LINQ Method syntax: usi ...

  8. jQuery实现AJAX定时刷新局部页面实例

    本篇文章通过两种方法实例讲解ajax定时刷新局部页面,当然方法有很多种,也可以不使用ajax来刷新页面,可以使用jquery中的append来给指定内容加东西,但是都不太实用,最实用的方法还是ajax ...

  9. [WCF编程]12.事务:服务事务编程(上)

    一.设置环境事务 默认情况下,服务类和操作没有环境事务,即使客户端事务传播到服务端也是如此. 尽管强制事务流从客户端传播过来,但服务端的环境事务依旧为null.为了启用环境事务,每个操作必须告诉WCF ...

  10. Unity3D 5.x 交互功能 - 光线投射、碰撞设置

    1,光线投射碰撞:第一人称视线在预置范围内(如3米)和看到的物体发生碰撞 ① 检测光线投射碰撞的脚本添加在第一人称FPSController上 #pragma strict private var c ...