大家早上好。我读了很多关于这个问题的帖子,但解决方法并不清楚。我刚买了一台新的笔记本电脑,安装了最新版本的jdk,并编写了一个简单的“helloworld”java程序,以查看编译和执行是否一切正常。因此,编译是好的,file.class被创建,但是当我尝试执行时,它显示如下:
Exception in thread "main" java.lang.UnsupportedClassVersionError: File1 has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
我想我已经发现了这个问题,我只是来确认一下:除了jdkv15.0.1之外,我还安装了jrev1.8.0ď271,以便玩一些需要手动安装特定jre的游戏(例如minecraft)。我怀疑java是用JDK15.0.1(当然)编译的,但是它试图用JRE1.8执行它。。。这就是为什么,也许,它显示了一个版本错误。。。有人能证实或反驳我说的话吗?
(我怀疑这是因为如果这只是jdk的错,他们怎么能实现一个既能编译又不能执行自己程序的jdk呢?(xd)
暂无答案!
目前还没有任何答案,快来回答吧!