我想从.jar中创建一个.exe(是的,我知道它无法达到目的,但我需要此文件易于执行)。

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


launch4j给了我一个UnsupportedClassVersionError(由Java Runtime的最新版本编译)
试图安装更新的JRE和JDK来重建.jar,但是intellij无法识别“ ant”命令,因为我在假设的Windows上(因为它也无法识别“ ls”之类的东西)。
我尝试将命令与git bash一起使用,同样。我试过让apache ant来重建.jar,但仍然没有“ ant-version”的作品。
使用intellij内置的项目结构,构件等构建对象,无需使用ant即可重建.jar。重建了.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.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)
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main"


我不确定目前该怎么做,因为我对这方面的内容并不十分了解。我在intellij项目中有一个build.xml,并且能够在Mac上仅用ant命令生成一个.jar。如果我没记错的话,macs可以在java 7上运行,如果有帮助的话,而我在该平台上有java 8。

最佳答案

这是由于版本不匹配。您已经使用Java 11(类文件版本55.0)编译了代码,而当前的JRE是版本8(类文件版本52.0)。

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

10-07 19:09
查看更多