Jar文件通过双击而不是通过cmd运行? [复制]
Posted
技术标签:
【中文标题】Jar文件通过双击而不是通过cmd运行? [复制]【英文标题】:Jar file runs by double clicking but not through cmd? [duplicate] 【发布时间】:2020-01-23 02:58:09 【问题描述】:我制作了一个小型 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)
【问题讨论】:
【参考方案1】:这只是版本不匹配。您已经使用 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
【讨论】:
所以我只需要更新我的 JRE 版本? 是的,您必须与您的 IDE jre 和系统 jre 同步以上是关于Jar文件通过双击而不是通过cmd运行? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
QGraphicsScene 中的 QPushButton 需要双击而不是单击
在命令窗口中能运行的jar文件,双击却出现Could not find the main 怎么解决
如何通过双击 Windows 7 64 位来运行 .jar 文件?