一.分析出现报错问题
java.lang.NoSuchFieldError 表示在运行时尝试访问一个不存在的类字段。这个错误通常是由于不同版本的类文件或库之间的不兼容性引起的,尤其是在使用编译器内部 API 或第三方工具时。
简单来说就是项目jdk与你使用加载的jdk版本不同,在其他版本中jdk所用的方法已经改变命名或者被迁移,废除,或者是由于你使用的某个插件智能在某个版本jdk中使用
二,如何解决该问题
(1)最直接的方法,如果你知道是哪部分方法或者插件,依赖等等不适合当前的jdk导致出现报错,去寻找他们的官方文档查找适合你当前jdk的方法或者其他等等,之后再重新进行编译运行。
(2)(推荐这个)直接去改jdk,对于大多数出现这种问题是在把他人的项目导入时会出现的问题,大概率不知道是哪些方法出错,所以可以直接问项目的提供者,他在构建这个项目使用jdk的版本。然后打开idea里项目结构
之后点击jdk下拉栏
根据你需要的jdk进行下载 ,之后先点击右下角的应用,再点击确定即可,之后重新启动项目就可以运行了。
如果出现jdk下载失败,可能是由于你的网络不好,换好的网络之后重新进入该项目重复上面操作即可,若是其他的原因jdk无法下载可以看我接下来的。
(3)去官网下载jdk后导入到idea的项目结构里
这面是官网地址Java Downloads | Oracle
点击后即可跳转
新版本的jdk23,21在上方,旧版本的往下滑动即可看到
然后还是如同(2)一样打开项目结构,点击添加jdk,选择你安装jdk的目录即可
以上就是我对于该问题的解决方案,如果感觉对你有帮助的话,三连支持一下