背景:
IDEA安装的findbug插件目前无法和jenkins的扫描结果保持一致,因为:没有对应jenkins上findbug的版本;
原理:
将jenkins服务器上的findbugs插件,拷贝到本地,修改build.xml内容以匹配目录。
安装:
1、 压缩包解压到工程的根目录下,即与src同级,解压文件包不要嵌套,如下图;
2.环境变量配置
3.新建:build.xml文件,拷贝以下代码:
<?xml version="1.0" ?>
<project name="check" default="default" basedir="."><!--源码路径从build.xml文件开始--><property name="src.dir" value="${basedir}/src" /><!--class文件位置--><property name="class.dir" value="${basedir}/target/classes" /><!----><property name="dist.dir" value="${basedir}/dist" /><!----><property name="findbugs.dir" value="${basedir}/findbugs-3.0.1"/><path id="findbugs.path"><fileset dir="${findbugs.dir}"><include name="**/*.jar" /></fileset></path><!-- =================================================================== --> <!-- Findbugs build --> <!-- =================================================================== --> <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpathref="findbugs.path" /> <target name="findbugs" ><mkdir dir="${basedir}/findbugs" /><!--输出文件格式及文件 outputFile="${basedir}/findbugs/findbugs_errors.html --><findbugs home="${findbugs.dir}" output="html" outputFile="${basedir}/findbugs/findbugs_errors.html" excludeFilter="${findbugs.dir}/tool/findbugs_exclude.xml"> <sourcePath path="${src.dir}" /> <class location="${class.dir}" /></findbugs> </target> <target name="default" depends="findbugs"></target></project>
将build.xml文件移到与src同级的根目录下;
4.cmd 测试:输入命令:ant -version
出现如图所示则安装成功;
5.代码分析检视;
5.1 打开项目工程至:findbugs-3.0.1文件夹的目录下;
路径输入cmd:回车;如图所示:
5.2 在黑窗口输入命令:ant -f build.xml 回车
5.3 出现:BUILD SUCCESSFUL 则显示代码检视构建完成;
在项目工程根目录下生成一个文件夹:打开
5.4 打开里面生成的html文件
查看内容:如图所示:
High Priority Warnings: 高风险没有;
Medium Priority Warnings:中风险7条;
一般只修改高风险;
5.5 查看风险的具体位置:这里会显示是哪个文件,哪个方法,还有代码行数具体位置,去修改即可;