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

分享升级spotbugs-maven-plugin 4.8.6.0遇到的坑(内附稳定运行的jdk和maven版本)

SpotBugs介绍

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

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

升级spotbugs-maven-plugin从4.5.3.0到  4.8.6.0遇到的坑

最近升级了一下spotbugs-maven-plugin,从4.5.3.0到  4.8.6.0。

通过maven方式运行:

mvn clean install -U spotbugs:check

报错信息如下:

Caused by: java.lang.UnsupportedClassVersionError: org/codehaus/mojo/spotbugs/SpotBugsMojo has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

此时配置信息:jdk1.8.0_151+maven3.6.3

从提示信息来看需要升级java到55即jdk11,jdk1.8对应的版本是52

升级jdk11 ,使用jdk 11.0.12

此时配置信息:jdk11.0.12+maven3.6.3+ spotbugs-maven-plugin4.8.6.0  运行报错信息如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project PerformaceDemo: Compilation failure: Compilation failure:
[ERROR] 不再支持源选项 5。请使用 6 或更高版本。
[ERROR] 不再支持目标选项 1.5。请使用 1.6 或更高版本。

显然maven 又出了问题!继续升级maven,直接找了一个脚心的版本3.9.6(其他的版本没有进行测试)

成功运行的配置

升级maven到版本3.9.6,

此时配置信息:jdk11.0.12+maven3.9.6+ spotbugs-maven-plugin4.8.6.0 ,成功运行!!!

最后的总结

1.spotbugs-maven-plugin不要随意升级到新版本 4.8.6,因为升级会依赖jdk 和maven的版本,这对于公司来讲是不可能的,不会因为一个测试的东东,调整公司的jdk和maven的版本;

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

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

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


http://www.kler.cn/a/541150.html

相关文章:

  • CSS 实现下拉菜单效果实例解析
  • 算法之 博弈问题
  • 【go】交叉编译
  • 数据集成实例分享:金蝶云星空对接旺店通实现库存管理自动化
  • 利用二分法进行 SQL 盲注
  • 【0401】Postgres内核 CREATE DATABASE database-name 源码实现 ①
  • excel高级求和SUMIFS函数,类似数据库group by操作
  • Arcgis/GeoScene API for JavaScript 三维场景底图网格设为透明
  • 【Linux开发工具】包管理器yum和文本编辑器vim
  • NO.11十六届蓝桥杯备战|if-else语句|嵌套if|悬空else|练习4道(C++)
  • AWS在游戏开发与全球发行中的技术实践与架构解析
  • lxml 教程:Python 中高效处理 XML 和 HTML 的利器
  • 牛客周赛Round 80——举手赢棋 python 补题 + 题解
  • Django视图与URLs路由详解
  • 人工智能学习(七)之神经网络
  • Spring基于文心一言API使用的大模型
  • PyTorch torch.unbind、torch.split 和 torch.chunk函数介绍
  • 在 C# 中,处理 Excel 和 PDF 文件的库有很多。以下是一些比较常用的选择
  • Unity使用新输入系统控制物体移动
  • VUE项目中实现权限控制,菜单权限,按钮权限,接口权限,路由权限,操作权限,数据权限实现
  • 基于yolo的视频检测分析
  • Linux网络编程--Udp套接字+实战 (万字详解,超详细!!)
  • 【多线程-第三天-NSOperation和GCD的区别 Objective-C语言】
  • 游戏启动不了了?一步步解决kaeon.dll丢失故障
  • VSCode + Continue 实现AI编程助理
  • 四、OSG学习笔记-基础图元