ant+findbugs 扫描代码生成报告

转自:http://www.cnblogs.com/simmonner1999/p/5486161.html

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"。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值