java.lang.UnsupportedClassVersionError错误的解决办法(附图文)
问题产生背景:
今天我将jdk11换成了jdk8,然后在eclipse里我发现无法运行之前写的代码,点击运行立马弹出来一个红色的异常框,点击确定后出现满屏红字。这是怎么回事?仔细看我发现第一个异常框上面写着Java Virtual Machine,也就是java的虚拟机,并且在终端出现的提示中看到了UnsupportedClassVersionError的提示,从字面上可以看出大概是“未得到支持的类版本错误”的意思。


解决办法:
首先这个错误肯定是因为我更换了jdk的版本导致的,所以我尝试把代码内容复制了一份重新编译运行,结果还是报错。我开始思考因为java是先通过编译成.class文件再到JRE运行的,可能是编译和运行两个环节中有不一致导致的,只不过IDE中编译和运行的过程合二为一了,我们很容易忽略这中间的过程。所以我找到eclipse里面编译的相关设置,发现编译时所用的还是jdk11编译,这样编译后的程序不能在jdk8的JRE中运行也就说得通了。

我将这里选项点开,选择1.8版本。

成功运行程序!

总结:
java JDK更换版本的时候需要注意,不仅需要更改我们系统环境变量的设置,同时也需要确认IDE中的JDK和JRE版本是否一致,如果不一致也需要修改成对应的版本,否则可能会出现之前的程序无法在当前JRE下运行。
到此这篇关于java.lang.UnsupportedClassVersionError错误的解决办法的文章就介绍到这了,更多相关java.lang.UnsupportedClassVersionError内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot 在xml里读取yml的配置信息的示例代码
这篇文章主要介绍了springboot 在xml里读取yml的配置信息的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-09
dependencies导致的Maven依赖出错包红问题解决方法
多模块和分布式开发一般都是有专门的的dependencies来进行jar包的版本依赖问题,本文主要介绍了dependencies导致的Maven依赖出错包红问题解决方法,具有一定的参考价值,感兴趣的可以了解一下2022-05-05
MyBatis的通俗理解:SqlSession.getMapper()源码解读
这篇文章主要介绍了MyBatis的通俗理解:SqlSession.getMapper()源码解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-03-03


最新评论