文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Java异常】完美解决this version of the Java Runtime only recognizes class file versions up to xx.0异常

2023-09-01 06:52

关注

哈喽各位,我是小白。时隔多日我又回来啦!

最近在部署项目后,发现线上业务数据都变成了默认值0,而且这个现象,仅仅出现在当次上线后生成的数据中

于是我去扫了一眼日志,发现如下报错

Caused by:
java.lang.UnsupportedClassVersionError: org/eclipse/core/resources/IResource has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

翻译过来就是说类文件的编译环境是61.0,而运行环境为55.0,显然运行环境低于编译环境
在这里插入图片描述

于是当发现该问题时,我迅速排查了容器的jdk版本、项目中Maven编译使用的jdk版本等,发现均为JDK11

这个时候我就很纳闷了,版本是一致的,为什么会突然报这个错误呢?

百度,Google了一遍,该用的方法都用了,可还是这个问题!

正当我百思不得其解时,我看到了报错的前半部分:

在这里插入图片描述
我项目中并未使用 org/eclipse/core/resources/IResource 类/接口,可是却报了这个类的编译错误呢?

我顺势在项目中搜了一下这个类,不搜不知道,一搜才发现果真这个类是JDK17所编译的。

在这里插入图片描述
这我就很好奇了,为什么啊,明明我的项目没有用到过JDK17的东西,可为什么它会用JDK17来编译这个文件呢?

顺着这个思路,我就去看了项目的 pom.xml 文件,这看完我才知道,原来引用这个的pom版本写了个版本区间,每次都会取最高的版本

为了验证这个想法,我又去Maven仓库搜了一下。嘿,您猜怎么着?还真是!!!

在这里插入图片描述
这哥们6月13号更新了一波版本,而在此之前我们的最后一次部署是6月5日!

哎呦这个老6,真的是服了you!

为了验证这个问题,我把该依赖的版本号做了一次指定,将代码本地编译,嘿,果然是JDK11啊

请添加图片描述
哎呦我的个乖乖,这个问题整了老半天,真是服了!

解决了,改了个pom依赖版本号,哪有什么改 标签这说,净瞎扯!

来源地址:https://blog.csdn.net/qq_44664231/article/details/131544077

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯