我做了一个小的Java应用程序,我想把它发送给我的朋友,但是他们无法通过双击打开文件。他们没有技术知识或经验,所以我无法真正让他们使用任何其他方法来运行应用程序。
当我尝试双击它时,应用程序似乎运行良好,但是当我尝试通过 CMD(使用java -jar Ky.jar
(运行时,我收到此错误:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: KySim has been compiled by a more recent version of the Java Runtime (class file version 54.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 运行时版本有关,所以也许这以某种方式相关?作为初学者,我花了很多时间在这上面,但无法提出解决方案,甚至无法知道我需要做什么,因此任何帮助都值得赞赏。
我不知道这是否重要,但这是我的 Java 版本信息:
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
这只是版本不匹配。您已使用 java 版本 10 编译了代码,并且当前的 JRE 是版本 8。
49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13