您现在的位置是:首页 >技术教程 >分享升级spotbugs-maven-plugin 4.8.6.0遇到的坑(内附稳定运行的jdk和maven版本)网站首页技术教程

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

测试开发Kevin 2025-05-28 00:01:03
简介分享升级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  是可以稳定运行的(经过测试);

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

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。