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:// ...
随机推荐
- Objective-C中的单例模式
单例模式算是设计模式中比较简单的一种吧,设计模式不是只针对某种编程语言,在C++, Java, PHP等其他OOP语言也有设计模式,笔者初接触设计模式是通过<漫谈设计模式>了解 ...
- 关于SVN链接服务器Unable to connect to a repository at URL*报错问题
在BAE上托管了写代码,想用SVN做版本控制,可是死活连不上,但用Dreamweave可以连上,整了半天是dan疼的缓存问题,清一下缓存就OK了. TortoiseSVN->Setting-&g ...
- Oracle 11g 编译使用BBED
环境:RHEL 6.4 + Oracle 11.2.0.4 1. 拷贝缺失文件 2. 编译BBED 3. BBED使用测试 Reference 1. 拷贝缺失文件 11g中缺失几个相关文件,但我们实际 ...
- Fragment基础----生命周期
Fragment生命周期和Activity对比 注意:在一个app的运行期间,前台的activity有时可能会被其他的视图组件打断,然后进入pause状态. 比如打开一个半透膜的activity (比 ...
- 7.4 数据注解属性--Required
Required attribute can be applied to a property of a domain class. EF Code-First will create a NOT N ...
- Elasticsearch 的坑爹事——记录一次mapping field修改过程
Elasticsearch 的坑爹事 本文记录一次Elasticsearch mapping field修改过程 团队使用Elasticsearch做日志的分类检索分析服务,使用了类似如下的_mapp ...
- 【C#】委托-Delegate
C# 委托(Delegate) C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针.委托(Delegate) 是存有对某个方法的引用的一种引用类型变量.引用可在运行时被改变. 委托 ...
- 【nodejs笔记3】Express基本用法,和路由控制,和模板渲染ejs
1. 路由控制的工作原理 //routes/index.js中的代码//访问主页时,调用ejs模板引擎,渲染index.ejs模板文件,生成静态页面,并显示在浏览器中.router.get('/', ...
- border:0与border:none区别与联系
联系:前台效果均实现了无边框 区别: 要解释区别,首先得先介绍一下border这个属性. border是一个简写属性.可以设置如下属性 border-width border-style border ...
- Java--Jsp内置对象列表