huaweichen
2019-05-15
>> java HelloWorld
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld has been compiled by a more recent version of the Java Runtime (class file version 55.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)

请问老师,这是什么原因啊?
谢谢。

作者回复: 我来复盘一下,首先应该是javac没有执行或者执行失败,导致class文件没有生成。
解决方式是你用javac HelloWorld.java编译源代码并生成class文件。

你现在执行的class文件应该是我编译上传的。应该是你安装的JDK版本和我当时编译class文件的版本不一致,所以会出现这个问题。

这个错误翻译成人话就是:java命令说,你这个class文件太新了,臣妾不认识……

应该是我当时手抖用了java12 ...

3
1
评论 3
carZycriss
那是不是应该从新编译class文件才能正常显示呢
2019-08-31
Mark
carZycriss
是的。
2019-11-13
Mark
carZycriss
评论的评论没有通知,刚刚看到。这个问题已经反馈给极客时间,相信他们马上就会改好哒
2019-11-13