当前位置: 首页 > 知识库问答 >
问题:

使用launch4j将jar转换为exe后出现JNI错误

佴普松
2023-03-14

以下是日志:

Exception in thread "main" java.lang.UnsupportedClassVersionError: fluidDynamicsProject/FluidDynamicSerial 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)

共有1个答案

相俊迈
2023-03-14

这意味着launch4j用来运行程序的JVM版本比编译类FluidDynamicsProject/FluidDynamicSerial的编译器版本要晚。您可以尝试在launchj4配置文件中设置最低版本:

<?xml version="1.0" encoding="UTF-8"?>
<launch4jConfig>
  ...
  <jre>
    ...
    <minVersion>11.0</minVersion>
    ...
  </jre>
</launch4jConfig>

注意,launch4j可能不支持最新版本的Java。

否则,您可以降低用于编译类的目标版本。

 类似资料:
  • 我创建了JavaFX应用程序的JAR文件。JAR文件工作得非常好,没有任何错误。但当我使用launch4j将jar转换为exe并尝试打开exe file file时,它会出现两个错误: Java虚拟机启动程序错误:发生了一个JNI错误,请检查您的安装,然后重试。 Java虚拟机启动程序发生Java异常。 下面是日志: 谁能帮帮我吗?

  • 有什么想法吗?

  • 问题内容: 我想将转换到对微软。为此有任何程序转换器吗? 另外,如果有适用于Mac和Linux的操作系统,我也将为你提供建议。 问题答案: Launch4j在Windows和Linux / Mac上均可使用。但是,如果你正在运行Linux / Mac,则有一种方法可以将jar嵌入到为你执行自动启动的shell脚本中,因此只有一个可运行文件: 然后,从jar中创建可运行文件: 它的工作方式与laun

  • 我在Eclipse中使用jsp、servlets、oracle数据库和javascript开发了一个web应用程序。现在,我正在尝试使用Launch4J将它的JAR转换为EXE文件。由于我的应用程序没有主类,在执行EXE时,它给出了错误“没有主清单属性”。我该怎么办?帮帮我!

  • 问题内容: 我在c ++函数中获得了一个float *,我需要在jfloatArray中将其转换以返回到我的Java代码。 如何将float *转换为jfloatArray? 谢谢 问题答案: 要将float *转换为jfloatArray,可以使用NewFloatArray, 您可以使用以下代码: 变量“数据”只是简单的示例,因此您可以使用代码。 另外,将com_your_packagename