ant + findbugs 安装及实现静态代码检查,并生成HTML检查报告

1、ant + findbugs安装

通过Eclipse或者MyEclipse继承ant、findbugs插件。插件可以到网上去下。

注:findbugs最好是下载1.3.9版本,如果是其他版本,可能在运行的时候会提示版本冲突错误!

2、通过findbugs做静态代码检查,此处可以说有两种方式。

A、直接生成HTML报告形式,在项目根目录下新建文件build.xml,将如下代码复制进去

<project name="DHOME_ANDRIOD_CodeCheck" default="findbugs">
	
	<property name ="findbugs.home" 
		value ="C:\Program Files\MyEclipse 6.5\myeclipse\eclipse\plugins\edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821"/>

	<path id="findbugs.lib"> 
		<fileset dir ="${findbugs.home}/lib"> 
			<include name ="findbugs-ant.jar"/> 
		</fileset> 
	</path>
	<taskdef name="findbugs" classpathref ="findbugs.lib" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"></taskdef>

	<target name ="findbugs">
		<findbugs home ="${findbugs.home}" jvmargs="-Xmx884m" output ="html" outputFile ="D:/findbugs.html"> 
			<class location ="WebRoot\WEB-INF\classes\com"/> 
			<auxClasspath path="${findbugs.home}/lib/findbugs-ant.jar"/> 
			<auxClasspath> 
				<!--<fileset dir="Z:/BR_Telfort_201000729/BS/CUSTCARE/webapp/WEB-INF/lib" includes="**/*.jar" /> -->
			</auxClasspath> 
			<sourcePath path ="src"/> 
		</findbugs>
	</target>
</project>
说明:

findbugs.home 是下载的findbugs插件存放的路径,我的是在MyEclipse6.5下,即value中的值;

findbugs.lib 是findbugs运行依赖的jar包存放路径(要将findbugs.jar跟findbugs-ant.jar)拷到findbugs插件的lib目录下

taskdef 定义ant任务,name是ant任务名称,classpathref只想jar包路径

target 具体的ant任务output指定输出的格式,class指定要检查的代码存放的路径(因为findbugs是检查的.class文件,所以只想编译后的class文件所在的路径),auxClasspath是findbugs依赖但是不希望其检查的jar包,sourcePath 指定源代码路径

这样设置之后,直接右键改build.xml文件选择ant build即可生成HTML代码检查报告

B、直接在MyEclipse中右键需要检查的类或者包选择find bugs(如果你插件安装正确的话) 即可

3、生成HTML检查报告,也有两种方式可以生成报告

A、即2、中的A

B、添加检查规则(本人不会再xml中添加,就用了下面这个方法

1)右键要检查的项目,选择properties,点击findbugs选项在Detector configration中选择需要或者不需要的检查规则项即可

2)通过2、中的B检查完成后打开MyEclipse的 Bug Explorer 查看发现的bug ,右键项目 名称,选择save xml会将检查结果保存成一个文件(我命名为findbugs),修改文件的后缀名为 xml(findbugs.xml)

3)在项目根目录下新建build.xml文件,如果已存在,可以将原来的重命名下,添加以下信 息,右键运行即可生成HTML报告

<project name="lt" default="convertHTML" basedir=".">

    <property name="findbugs.home" 
    	value="C:\Program Files\MyEclipse 6.5\myeclipse\eclipse\plugins\edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821" />
    <property name="findbugs.file" value="D:/findbugs.xml" />
    <property name="findbugs.desthtml" value="D:/findbugs.html" />

    <path id="findbugs.lib">
        <fileset dir="${findbugs.home}/lib">
            <include name="findbugs-ant.jar"/>
        </fileset>
    </path>
        
    <taskdef name="findbugs" classpathref ="findbugs.lib" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" />
    <taskdef name="convertXmlToText" classname="edu.umd.cs.findbugs.anttask.ConvertXmlToTextTask">
        <classpath refid="findbugs.lib" />
    </taskdef>

    <target name="convertHTML" >
        <!--
        <filterBugs home="${findbugs.home}" output="filterBugs.html" withmessages="true" >
            <datafile name="${findbugs.file}"/>
        </filterBugs>
        -->
        <convertXmlToText home="${findbugs.home}"
        input="${findbugs.file}" 
        output="${findbugs.desthtml}"
        format="html:default.xsl">
        </convertXmlToText>
    </target>

</project>

ant + findbugs 安装及实现静态代码检查,并生成HTML检查报告,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。