当前位置: 首页 > news >正文

详解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)流程中,以确保代码质量。如下图所示:

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


http://www.mrgr.cn/news/47070.html

相关文章:

  • Unity 之如何开发 VisionPro 应用
  • 一个月学会Java 第9天 构造器与访问修饰符
  • HyperWorks基于几何投影的网格变形
  • [Hbase]一 HBase基础
  • vue3 + TS 定义全局变量和方法
  • C# 实现调用函数,打印日志(通过反射代理、非IOC)
  • 初级网络工程师之从入门到入狱(六)
  • IDEA使用Maven创建父与子多模块项目
  • ECharts图表图例6
  • Linux——cp-mv-rm命令
  • HarmonyOS媒体文件操作
  • C语言预处理详解(下)(31)
  • gray_range_rect是这样的
  • 四氟采水器耐强酸PTFE打水桶可应用水资源研究及环境监测
  • 浏览器对象属性
  • 什么是DHCP Snooping?到底工作在第几层?
  • <<迷雾>> 第10章 用机器做一连串的加法(5)--控制器 示例电路
  • 【银河麒麟高级服务器操作系统】安全配置基线相关分析全过程及解决方案
  • Python 如何使用 Redis 作为缓存
  • 如何提高浮点类型计算的精度