ant+findbugs 扫描代码生成报告
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 扫描代码生成报告的更多相关文章
- jmeter+ant+jenkins生产的报告乱码
jmeter+ant+jenkins生产的报告乱码 问题:生产报告会乱码的问题,一般是有编码格式引起的.我遇到的问题是,jmeter需要读取csv的数据作为参数.但是我们并不知道csv保存是什么编码格 ...
- window 下 jmeter+ant 自动生成html报告并发送邮件
一.安装ant 1.ant 下载地址:https://ant.apache.org/bindownload.cgi 2.下载完成解压到指定目录下 3.配置ant 环境变量 新建系统变量 -ANT_HO ...
- Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告
最近在做基于jenkins ant junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...
- 【JMeter】ant+jmeter生成html报告
源博文来自于 http://my.oschina.net/hellotest/blog/517518 主要应用于接口的回归或者性能的简单查看功能.操作为先在jmeter中写好测试计划,保存为jmx文 ...
- Ant打包Android代码生成apk文件
可參考下面,实现一套代码不同渠道的打包 http://blog.csdn.net/liuhe688/article/details/6679879 http://cnn237111.blog.51ct ...
- 源代码扫描工具Fortify SCA与FindBugs的简单对比
前段时间因为工作原因需要对java源代码进行扫描,现结合使用经验对静态代码扫描工具Fortify SCA与FindBugs进行一个简单的对比. 一.Fortify SCA Fortify SCA是由全 ...
- Jenkins+Ant+JMeter报告自动化
1.参考Jenkins+Ant+JMeter集成,安装Jenkins(不需要安装Performance Plugin插件),建立Slave节点,连接Slave节点,创建任务等. 2.将Jenkins+ ...
- 提高代码质量 CheckStyle FindBugs PMD
提高代码质量-工具篇 注:这是一篇翻译文章,原文:How to improve quality and syntax of your Android code,为了理解连贯,翻译过程中我修改了一些陈述 ...
- (转)定制findbugs规则
转载自http://www.51testing.com/html/97/13997-211893.html 这类文章极少,字节码操作需要对becl库及jvm字节码操作有一定常识.参考: http:// ...
随机推荐
- nodejs与javascript中的aes加密
简介 1.aes加密简单来说,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用.高级加密标准已然成为对称密钥加 ...
- 构建自己的PHP框架--实现Model类(2)
在上一篇博客中我们简单实现了findOne方法,但我们可以看到,还是有一些问题的,下面我们来修正一下这些问题. 首先是返回的数据中,数字被转换成了字符串.我们需要的是数字啊... PDO中有属性可以支 ...
- 译:DOM2中的高级事件处理(转)
17.2. DOM2中的高级事件处理(Advanced Event Handling with DOM Level 2) 译自:JavaScript: The Definitive Gu ...
- Oracle管理磁盘空间和资源
1.可恢复的空间分配 2.可移动表空间 3.Oracle段收缩功能 4.Oracle数据库资源管理 Reference 1.可恢复的空间分配 1.1 了解可恢复的空间分配 一般情况,我们发出一个大型数 ...
- 通过SQL Server自定义数据类型实现导入数据
写在前面 在看同事写的代码时看到了SQL Server中可以自定义数据类型,而且定义的是DataTable类型的数据类型. 后我想起了以前我们导入数据时要么是循环insert写入,要么是SqlBulk ...
- Spark计算均值
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用spark来快速计算分组的平均值,写法很便捷,话不多说上代码 object ColumnVal ...
- OpenCV2学习笔记(一)
Mat - 图像的容器 在对图像进行处理时,首先需要将图像载入到内存中,而Mat就是图像在内存中的容器,管理着图像在内存中的数据.Mat是C++ 的一个类,由于OpenCV2中引入了内存自动管理机制, ...
- null和undefined的一些区别
读了阮一峰的博客,自己总结一下,便记录一篇博客 在javacript的基本类型中,有2种基本类型,只有1个值,便是null和undefined,都表示的是"无".在一定程度上是相等 ...
- 数据结构(c语言第2版)-----了解链表,栈,队列,串
关于链表我觉得这都是最基本的东西,但是不常见,在实际的应用中很少的使用,了解它会用就OK,不需要研究的那么深,除非做那种内存压缩,存储方面工作. C语言中动态申请空间 malloc() q=(dlin ...
- Android封装OkHttpClient的类库
由于android6.0的SDK没有HttpClient,只有HttpURLConnection和OkHttpClient,特记下OkHttpClient的使用方法 1.Ui测试界面布局 <?x ...