Jar文件可以通过双击运行,但不能通过cmd运行?

时间:2019-09-23 04:26:44

标签: java cmd jar

我制作了一个想发送给我的朋友的小型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 Runtime版本有关,所以也许以某种方式联系了起来?作为一个初学者,我已经花了很多时间来解决这个问题,但是还无法提出解决方案,甚至无法确定我需要做什么,因此不胜感激。

我不知道这是否重要,但这是我的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)

1 个答案:

答案 0 :(得分:0)

这只是版本不匹配。您已经使用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