java.lang.UnsupportedClassVersionError:如何使用Java Runtime的较新版本运行代码

问题描述 投票:0回答:1

从命令行编译时,发生错误,如何获得所需的Java Runtime版本?

java.lang.UnsupportedClassVersionError:您好已由Java Runtime的最新版本(类文件版本57.0),此版本的Java Runtime仅识别类文件版本最高52.0

C:\Users\s\Documents\Documents>javac hello.java

C:\Users\s\Documents\Documents>java hello
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: hello has been compiled by a more recent version of the Java Runtime (class file version 57.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)
java javac .class-file
1个回答
0
投票

似乎您使用的Java编译器与Java编译器不同。

java -version

javac -version 

您应该会看到版本的差异。

一旦确认,您就可以解决引起差异的路径问题或使用javac设置编译目标

javac -target 1.8 hello.java

作为示例

© www.soinside.com 2019 - 2024. All rights reserved.