<findbugs>静态代码分析工具

背景:

IDEA安装的findbug插件目前无法和jenkins的扫描结果保持一致,因为:没有对应jenkins上findbug的版本;

原理:

将jenkins服务器上的findbugs插件,拷贝到本地,修改build.xml内容以匹配目录。

安装:

1、 压缩包解压到工程的根目录下,即与src同级,解压文件包不要嵌套,如下图;

<findbugs>静态代码分析工具_第1张图片

2.环境变量配置

<findbugs>静态代码分析工具_第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同级的根目录下;

<findbugs>静态代码分析工具_第3张图片

4.cmd 测试:输入命令:ant -version

<findbugs>静态代码分析工具_第4张图片
出现如图所示则安装成功;

5.代码分析检视;

5.1 打开项目工程至:findbugs-3.0.1文件夹的目录下;
路径输入cmd:回车;如图所示:
<findbugs>静态代码分析工具_第5张图片

5.2 在黑窗口输入命令:ant -f build.xml 回车

<findbugs>静态代码分析工具_第6张图片
<findbugs>静态代码分析工具_第7张图片

5.3 出现:BUILD SUCCESSFUL 则显示代码检视构建完成;

在项目工程根目录下生成一个文件夹:打开

<findbugs>静态代码分析工具_第8张图片

5.4 打开里面生成的html文件

在这里插入图片描述

查看内容:如图所示:
High Priority Warnings: 高风险没有;
Medium Priority Warnings:中风险7条;
一般只修改高风险;

<findbugs>静态代码分析工具_第9张图片

5.5 查看风险的具体位置:这里会显示是哪个文件,哪个方法,还有代码行数具体位置,去修改即可;

<findbugs>静态代码分析工具_第10张图片

你可能感兴趣的:(java,java)