java - 将jar转换为exe launch4j后出现JNI错误

标签 java javafx launch4j

我创建了 JavaFX 应用程序的 JAR 文件。 JAR 文件工作得很好,没有任何错误。但是当我使用 launch4j 将 jar 转换为 exe 并尝试打开 exe 文件时,它给出了两个错误:

Java 虚拟机启动器 错误:发生 JNI 错误,请检查您的安装并重试。

Java 虚拟机启动器 发生 Java 异常。

这是日志:

Exception in thread "main" java.lang.UnsupportedClassVersionError: Main 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(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

有人可以帮我吗?

最佳答案

实际上我在转换为exe时在launch4j中选择了另一个版本的JRE。现在,我附加了在开发应用程序时安装在我的系统上的 JRE,并且它工作得很好。

关于java - 将jar转换为exe launch4j后出现JNI错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50075705/

相关文章:

java - Launch4j maven 插件不能在 64 位 linux 机器上运行

java - Android Studio 上的 NoClassDefFoundError

java - 使用 Java 保存记录

java - 无法将数据添加到 javaFX 中的表

java - 无法运行我的 java .exe 程序。我该如何解决这个问题? ("A Java exception has occured")和JNI问题

java - launch4j Hello World 程序

java - 解析 XML 并转换为集合

java - SQL try catch 永远无法捕获(实现超时?)

java - 简单的 JavaFX HelloWorld 不起作用

JavaFX - 如何将字符串从 'webEngine createWebEngine(Stage stage)' 显示到其他类中的 Pane