java - 如何为使用 JDK 11 编译的 java 程序将 JRE 与 Launch4j 捆绑在一起?

标签 java jar exe java-11 launch4j

我正在使用 Launch4j 从 .jar 文件创建 .exe 文件。但是,当我将其交给 friend 时,它不断收到错误“发生 JNI 错误,请检查您的安装并重试”。我认为 JRE 和 JDK 版本有问题。所以我看到了这个question ,但是它太旧了,现在JDK11的Oracle没有像以前那样有单独的JRE。

我想知道我应该在 launch4j 程序中放入哪个最低 JRE 版本(这是强制性的)以及如何解决我的 friend 不断遇到的错误?

只是为了澄清。我可以运行 .exe 文件而不会出现任何错误,但是当我将其交给我的 friend 时,他们收到了上面提到的错误。

最佳答案

代码似乎是使用 JDK 11 编译的,但您的 friend 没有 JRE/JDK 11,因此出现错误。自您链接的问题以来,答案并没有真正改变。 (将 JRE 与 EXE 一起捆绑并使用捆绑的 JRE)

至于捆绑 JRE 11,您是正确的,不再有可以在任何地方下载的“Oracle JRE 11”。您可以 use jlink to create your own JRE distribution ,或者您可以use the OpenJDK JRE 11 download .

看来第二个选项要容易得多,因此您只需从 AdoptOpenJDK 下载 JRE 11,并将其与 EXE 捆绑在一起即可。

关于java - 如何为使用 JDK 11 编译的 java 程序将 JRE 与 Launch4j 捆绑在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61858707/

相关文章:

java - AS400 DB 连接出错,下次调用时结果集数据未删除

java - 哪个 Swing 组件适合此设计?

java - 方法输出的值不正确?

java - Jersey 资源类未导出

visual-studio - 用Visual Studio 2010编译后执行exe文件或bat文件

email - 通过单击链接(来自电子邮件)运行本地 exe

Java 24 位数字签名

scala - 线程 "main"java.lang.NoClassDefFoundError : org/rogach/scallop/ScallopConf 中的异常

java - jenkins,使用 jenkins 为项目生成 .jar

Delphi EXE 压缩器?