java - jar文件通过双击运行但不能通过cmd运行?

标签 java cmd jar

我制作了一个小型 Java 应用程序,想发送给我的 friend ,但是他们无法通过双击打开该文件。他们没有技术知识或经验,因此我无法真正让他们使用任何其他方式来运行应用程序。

当我尝试双击应用程序时,它似乎运行得很好,但是当我尝试通过 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)

我 friend 那边的错误也与 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

关于java - jar文件通过双击运行但不能通过cmd运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58055663/

相关文章:

c++ - 将多个 cmd.exe 参数/参数传递给 ShellExecute(Ex)?

JavaFX jar 未随 JAR 文件一起加载,但在将代码编译为应用程序时加载正常

java - 随机化单选组中的单选按钮

java - RecyclerView notifydatasetchanged 未从 fragment 调用

java - 读取网站的 HTML 代码

windows - windows批处理中call和cmd/c的区别

windows - 从多词字符串的每个词的第一个字符创建新字符串

java - 在 Jar 文件中加载图像 java.lang.RuntimeException : Resource not found

java - 使用 eclipse 提取到可执行 JAR

java - 关于jpeg和png文件结构和头信息的问题