ant+findbugs扫描代码⽣成报告1. 下载安装ant、findbugs
下载ant、findbugs最新压缩包解压到本地磁盘合适位置,⽐如:
D:\Program Files\apache-ant-1.9.7
D:\Program Files\findbugs-3.0.1
2. 配置环境变量
3. 编写l
<?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. ⽣成报告
打开命令⾏,进⼊到l⽂件所在⽂件夹,键⼊ant findbugs命令回车即可。
5. 部分属性参数说明
关于findbugs任务的详细说明,如下:
class 嵌套元素指定要分析的类。这个元素必须指定⼀个location属性,location属性的名字为archive⽂件(jar,zip等)、⽬录或者class⽂件。
可以为⼀个findbugs元素指定多个class元素。
auxClasspath 可选的嵌套元素,⽤于指定要分析的类所引⽤的类,但是并不对引⽤的类进⾏分析。
sourcePath 可选的嵌套元素,指定Java源代码的⽬录。ant安装包
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"。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论