我的问题是我创建了一个Java应用程序,如果我在.jar中打开。've尝试启动4J,但是如果我尝试使用创建的.exe文件,我会遇到"错误,jni错误,请检查您的安装等..."one_answers" java exception"这很有用,但是如果我尝试在launch4j中测试包装器,我会收到相同的消息,这是在日志上:
Executing:C:UsersedenaDocumentsCGen.exe
Exception in thread "main" java.lang.UnsupportedClassVersionError: CodeGenerator 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)
我已经尝试查看问题是否来自我的Java版本,但它说这是最新的。另外,我尝试在Eclipse中删除元数据并再次进行该过程,但它不起作用
您正在尝试执行与JRE 8一起编译的JDK 11的类。
您可以在编译类时指定目标版本8,也可以在启动4J配置中设置Min版本:
<jre>
...
<minVersion>11</minVersion>
...
</jre>
(代表问题作者发布(。
我发现了如何使它起作用。我进入了我的IDE(Eclipse(,然后右键单击我的项目,然后属性> Java编译器,然后删除"使用"执行环境中的合规性" Java SE-11'在'Java buildpath上>我然后在1.4上设置编译器合规性级别。。