java静态代码检测-spotbugs

以前使用的findbugs宣布在2016年后已经不做维护了,取而代之的是 spotbugs.

SpotBugs对JRE (或 JDK) 版本的要求

  • SpotBugs是用JDK8版本构建的,所以运行需要JRE (或 JDK) 1.8.0及以后的版本。
  • SpotBugs可以扫描JDK8及更新的版本编译生成的字节码(即class文件)。

要想使用spotbugs,需要在代码仓库中做一些配置

1. 在maven项目的pom.xml文件中,加入依赖包:

 offical website url reference: https://spotbugs.readthedocs.io/en/latest/maven.html
复制代码
<plugin>
  <groupId>com.github.spotbugs</groupId>
  <artifactId>spotbugs-maven-plugin</artifactId>
  <version>4.8.6.0</version>
  <dependencies>
    <!-- overwrite dependency on spotbugs if you want to specify the version of spotbugs -->
    <dependency>
      <groupId>com.github.spotbugs</groupId>
      <artifactId>spotbugs</artifactId>
      <version>4.8.6</version>
    </dependency>
  </dependencies>
</plugin>
复制代码

2. 通过命令执行,来生成report结果文件

1)如果是普通项目,可以通过执行jar包的方式,去运行spotbug.jar生成report报告

mvn site: https://spotbugs.github.io/spotbugs-maven-plugin/usage.html
java -jar $SPOTBUGS_HOME/lib/spotbugs.jar

 

2)如果使用的是maven项目,可以使用mvn命令,生成report报告

offical website url: https://spotbugs.readthedocs.io/en/latest/maven.html#goals-of-spotbugs-maven-plugin

mvn site url: https://spotbugs.github.io/spotbugs-maven-plugin/usage.html

Goals url : https://spotbugs.github.io/spotbugs-maven-plugin/plugin-info.html

mvn site spotbugs:spotbugs

 

3.jenkins中如何使用spotbugs

要在 Jenkins 中集成 SpotBugs 静态代码分析工具,你可以按照以下步骤进行操作:

步骤一:安装插件
在 Jenkins 中安装 SpotBugs 插件:在 Jenkins 中,转到 Jenkins 控制台 -> 管理 Jenkins -> 管理插件 -> 可用插件,搜索并安装 "SpotBugs" 插件。


步骤二:配置项目
配置 Jenkins 项目:在你的 Jenkins 项目中,选择配置项目,然后按照以下步骤进行配置:
构建步骤:添加构建步骤,选择 "Invoke SpotBugs"。
SpotBugs 配置:配置 SpotBugs 插件,可以设置源码路径、排除路径、报告输出路径等参数。
构建后操作:在构建后操作中,添加 "Publish SpotBugs analysis results",以便在构建结束后查看 SpotBugs 的分析结果。


步骤三:运行构建
保存配置:保存项目配置。
触发构建:手动触发 Jenkins 项目的构建,Jenkins 将运行 SpotBugs 静态代码分析并生成报告。


步骤四:查看报告
查看报告:构建完成后,你可以在 Jenkins 项目的构建页面或者 SpotBugs 分析结果页面中查看生成的 SpotBugs 报告,包括代码中发现的问题、建议的修复方式等信息。


通过以上步骤,你可以在 Jenkins 中集成 SpotBugs 静态代码分析工具,并在每次构建中自动运行分析以帮助提高代码质量。如果需要更详细的配置或定制,可以根据实际需求进一步调整 Jenkins 项目的配置。

posted @   苹果芒  阅读(236)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2023-07-26 mysql 添加索引
点击右上角即可分享
微信分享提示