首页 > 编程语言 >java静态代码检测-spotbugs

java静态代码检测-spotbugs

时间:2024-07-26 18:30:44浏览次数:15  
标签:插件 java 静态 步骤 构建 SpotBugs Jenkins spotbugs

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

要想使用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结果文件

offical website url reference:  https://spotbugs.readthedocs.io/en/latest/running.html
java -jar $SPOTBUGS_HOME/lib/spotbugs.jar

 

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 项目的配置。

标签:插件,java,静态,步骤,构建,SpotBugs,Jenkins,spotbugs
From: https://www.cnblogs.com/pingguomang/p/18325998

相关文章

  • LeetCode 2.两数相加 java
    力扣链接2.两数相加-力扣(LeetCode)题目描述给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0......
  • 【一手源码展示】Java代码TikTok内嵌商城代码程序,TikTok跨境电商系统源码,TK商城源码
    这套程序已经做了很久了我这边修复二开优化也好几个版本搭建起来做起来确实费劲前后端分离的程序 二开效果页面展示:......
  • Java-----学习笔记4
    Java中的方法Java中的方法与C语言的函数有些相似,它们都是为了完成特定功能的代码块,都可以被多次调用。main方法publicstaticvoidmain(String[]args){}public---访问控制符,控制方法可见性。static---这个关键字表示该方法是静态的。void---返回类型void--不需要......
  • 写好JavaScript条件语句的5条守则
    照抄https://juejin.im/post/5bdef288e51d450d810a89c6testEquals(fruit){if(fruit==='apple'||fruit==='strawberry'){console.log('==');}},testIncludes(fruit){constredFruits=['......
  • 007-java使用socket测试远程服务器的某个端口是否可连接
    importjava.io.IOException;importjava.net.InetSocketAddress;importjava.net.Socket;/***@authorzzl*/publicclassPortChecker{publicstaticbooleanisPortReachable(Stringhost,intport,inttimeout){try(Socketsocket=newSoc......
  • GraalVM 静态编译下 OTel Java Agent 的自动增强方案与实现
    作者:望陶、铖朴随着OpenTelemetry在可观测领域影响力的不断提升,其项目以极快的速度不断演进。阿里云作为国内最广泛使用Java的厂商之一,深度参与OTelJava Instrumentation演进与社区活动,贡献、Review各类PR(pullrequest)合计超过100 余个,参与Issues讨论58个,在Op......
  • Nginx服务器无法实现伪静态化,在后台设置不成功
    错误提示:Nginx服务器无法实现伪静态化,在后台设置不成功解决方案:这主要是nginx的rewrite没有设置导致的在nginx.conf里找到网站的server配置段,一般我们推荐如下的配置     server {        listen          80;        server_name   ......
  • Java卷上天,可以转行干什么?
    小刚是某名企里的一位有5年经验的高级Java开发工程师,每天沉重的的工作让他疲惫不堪,让他萌生出想换工作的心理,但是转行其他工作他又不清楚该找什么样的工作因为JAVA这几年的更新实在是太太太……快了,JAVA8都还没用多久,16都已经发布了。自从JAVA8发布了Lambda和Stream......
  • Java卷上天,可以转行干什么?
    小刚是某名企里的一位有5年经验的高级Java开发工程师,每天沉重的的工作让他疲惫不堪,让他萌生出想换工作的心理,但是转行其他工作他又不清楚该找什么样的工作因为JAVA这几年的更新实在是太太太……快了,JAVA8都还没用多久,16都已经发布了。自从JAVA8发布了Lambda和Stream......
  • Java卷上天,可以转行干什么?
    小刚是某名企里的一位有5年经验的高级Java开发工程师,每天沉重的的工作让他疲惫不堪,让他萌生出想换工作的心理,但是转行其他工作他又不清楚该找什么样的工作因为JAVA这几年的更新实在是太太太……快了,JAVA8都还没用多久,16都已经发布了。自从JAVA8发布了Lambda和Stream......