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检查报告