jar转exe launch4j后出现JNI错误

JNI error occurred after converting jar to exe 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.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
at java.net.URLClassLoader.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,它工作得很好。

  1. 在eclipse中右击我的项目
  2. 转到属性
  3. 转到java编译器
  4. 取消选中“使用来自执行环境的合规性”
  5. Select 编译器合规级别为 1.4

现在创建它的 Jar 并转换为 .exe , 它对我有用。