详解Spotbugs-maven-plugin(报告如何生成html测试报告)

Spotbugs介绍

SpotBugs是Findbugs的继任者(Findbugs已经不再维护),用于对Java代码进行静态分析,查找相关的漏洞,SpotBugs比Findbugs拥有更多的校验规则。静态分析会检查Java字节码(.class文件)是否存在错误模式(错误模式是一种经常容易出错的代码表达式/习惯用法,其中主要包括:错误使用编程语言的某些特性、误用的API方法、在维护期间修改代码时误解变量、错别字,使用错误的运算符)

SpotBugs要求jdk最低版本是1.8

spotbugs可以独立运行,也可以与下面的工具一起集成使用,在这里我们重点关注与Maven集成

Ant

Maven

Gradle

Eclipse

Sonarqube

IntelliJ IDEA

更多关于Spotbugs的信息可以参考文章:

使用神器Spotbugs,轻松入门静态代码分析-CSDN博客

spotbugs-maven-plugin

‌SpotBugs-Maven-Plugin‌是一个用于在Maven项目中集成SpotBugs的工具。使用SpotBugs-Maven-Plugin的步骤通常包括在项目的pom.xml文件中进行配置,指定SpotBugs的版本和其他相关设置。配置完成后,可以通过Maven命令运行SpotBugs分析,生成报告,从而查看代码中可能存在的问题和建议的修复措施。github的链接如下:

https://github.com/spotbugs/spotbugs-maven-plugin/

不同版本的jdk 与spotbugs-maven-plugin集成时,会遇到不兼容问题,在这里给大家两个经过测试的版本信息

jdk1.8.0_151+maven3.6.3+spotbugs-maven-plugin 4.5.3.0 是可以稳定运行的(经过测试);

jdk11.0.12+maven3.9.6+spotbugs-maven-plugin 4.8.6.0 是可以稳定运行的(经过测试);

pom.xml配置信息

<build>
 <plugins>
  <plugin>
  <groupId>com.github.spotbugs</groupId>
  <artifactId>spotbugs-maven-plugin</artifactId>
     <version>4.5.3.0</version>
   <configuration>
        <includeFilterFile>myfilter-include.xml</includeFilterFile>
  </configuration>
</plugin>
</plugins>
 </build>

myfilter-include.xml中的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
        <Match>
          <Bug category="PERFORMANCE" />
        </Match>
</FindBugsFilter>

其他常用的 <configuration>配置信息如下:

<failOnError>true</failOnError> <!-- 出现错误时构建失败 -->

<threshold>high</threshold> <!-- 使用预定义的错误等级 -->

<effort>max</effort> <!-- 使用预定义的检查努力等级 -->

<reportLevel>Low</reportLevel> <!-- 自定义报告级别 -->

<includeTests>true</includeTests> <!-- 包括测试代码的检查 -->

<excludeFilterFile>${project.basedir}/spotbugs-exclude.xml</excludeFilterFile> <!-- 排除特定的问题 -->

更多参数使用可以查看文章

https://spotbugs.github.io/spotbugs-maven-plugin/check-mojo.html

生成html报告

使用mvn构建会生成spotbugsXml.xml,解读起来不是很有好,我们可以进行相关配置生成html测试报告,配置信息如下:

<configuration>
        <outputDirectory>${project.build.directory}/spotbugs-reports</outputDirectory>  
        <xmlOutput>true</xmlOutput> <!-- 确保XML输出被启用,因为HTML输出依赖于它 -->  
        <htmlOutput>true</htmlOutput> <!-- 启用HTML输出 -->  
  </configuration>

mvn构建运行spotbugs

mvn clean install -U spotbugs:spotbugs

常用参数

  • spotbugs:spotbugs 用于执行 SpotBugs 静态代码分析,并生成一个包含检测到的错误的报告。默认情况下,它不会使构建失败,但会生成一个报告供开发者查看。

  • spotbugs:check 执行静态代码分析,如果有错误将提示build失败,它非常适合集成到持续集成(CI)流程中,以确保代码质量。如下图所示:

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试开发Kevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值