如何从 .jar 创建 .exe

How to create a .exe from a .jar

我想从 .jar 制作一个 .exe(是的,我知道它违背了目的,但我需要它可以轻松执行)。

我已经生成了一个 .jar 文件,但是当 运行 编译它时我遇到了几个问题:

java.lang.UnsupportedClassVersionError: org/academiadecodigo/thunderstructs/Main has been compiled by a more recent version of the Java Runtime (class file version 55.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.access0(Unknown Source)
        at java.net.URLClassLoader.run(Unknown Source)
        at java.net.URLClassLoader.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)
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main"

我不确定此时实际做什么,因为我对这些东西不是很有经验。我在 intellij 项目中有一个 build.xml,并且能够在 mac 上仅使用 ant 命令生成一个 .jar。如果我没记错的话 macs 运行 on java 7 如果有帮助的话,我有 java 8 on this.

有一个由 Grzegorz Kowal 开发的跨平台 Java 可执行包装程序,可以在此 url 上找到:http://launch4j.sourceforge.net/

这里是关于如何使用该工具的简单指南:https://medium.com/@sulabh4/how-to-make-a-executable-file-from-your-java-code-3f521938ae5c

这是因为版本不匹配。您已使用 Java 11(class 文件版本 55.0)编译了您的代码,并且您当前的 JRE 是版本 8(class 文件版本 52.0)。

尝试将您的 JRE 升级到版本 11 或将您的 JDK 降级到版本 8。