您的位置:首页 > 编程语言

利用findBugs插件来扫描代码,并用ant生成报告

2015-12-02 13:22 459 查看
最近项目要用findbugs插件来生成报告,总结了一下用法和如何生成报告

1, 把下载的压缩包解压后,把



copy到eclipse的plugin目录中去;
2, 重新启动eclipse
3, 打开eclipse->window->Preferences,搜索关键字findbugs,如果能找到配置项,那么表示安装成功,如图:



怎么用?

findbugs 简单易用,按照下图操作即可;
1, 在eclipse package Explorer 右键选择目标工程-> build project



2, 选择指定的包或者类进行findbug



此时findbugs会遍历指定的包或者类,进行分析,找出代码bug,然后集中显示在 find bugs的bugs explorer 中,下面我们添加bugs explorer。
3,添加findbugs explorer

(eclipse 左下角)







3, bugs explorer 添加完毕后,我们就可以查看刚刚找到的bugs了,如图:



找出的bug有3中颜色, 黑色的臭虫标志是分类, 红色的臭虫表示严重bug发现后必须修改代码,橘黄色的臭虫表示潜在警告性bug 尽量修改。(附录是各种bug的解释及修改方案,请大家按附表参考修改)
双击bug项目就可以在右边编辑窗口自动打开相关代码文件并连接到代码片段。 点击行号旁边的小臭虫图标后再eclipse下方输出区将提供详细的bug描述,以及修改建议等信息。我们可以根据此信息进行修改。

如何生成报告?

1.下载 findbugs-3.0.1.zip

2.将里面的findbugs.jar和findbugs-ant.jar解压出来放到eclipse的插件目录下 如我的"D:\KAIFA\eclipse3\links\plugins\edu.umd.cs.findbugs.plugin.eclipse_3.0.1.20150306-5afe4d1\lib"

编写build.xml文件

<project name="findBugs" default="findbugs">

<property name ="findbugs.home"
value ="D:\KAIFA\eclipse3\links\plugins\edu.umd.cs.findbugs.plugin.eclipse_3.0.1.20150306-5afe4d1"/>

<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 ="classes"/>
<auxClasspath path="${findbugs.home}/lib/findbugs-ant.jar"/>
<auxClasspath>
</auxClasspath>
<sourcePath path ="src"/>
</findbugs>
</target>
</project>


说明:

findbugs.home 是下载的findbugs插件存放的路径

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代码检查报告
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: