java - 将executabe jar打包成.exe,以便在不安装jre的情况下使用

标签 java jar exe launch4j

我想将可执行 jar 包装到 .exe 文件中,以便将其关联。我使用 Launch4j 并且它有效。但是其他人无法使用它。 Java版本总是出现错误。

我发现了这个问题:

Running a java program as an exe in Windows without JRE installed

还有什么比这更容易使用的吗?

编辑:

我选择了“prefer JRE”而不是“preferJDK und JRE”窗口,这就是问题所在。

最佳答案

在 Launch4j 中的 JRE > 捆绑 JRE 路径下,输入类似 ./runtime 的内容。当您将 JAR 文件包装到 EXE 中时,EXE 将在当前目录中名为“runtime”的子目录下查找 java 运行时。如果将 Java 运行时目录复制到与打包的 EXE 文件相同的目录中,它将使用它。

enter image description here

在 Windows 资源管理器中:

enter image description here

“运行时”目录是完整的 JRE 目录,例如“jre1.8.0_201”,但已重命名。里面应该有一个 bin 文件夹和一个 lib 文件夹以及一些其他文件。

关于java - 将executabe jar打包成.exe,以便在不安装jre的情况下使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53667368/

相关文章:

java - 如果用户跳过输入,则使用默认值

gradle - 依赖jar不与项目jar Gradle捆绑在一起

java - 元组的动态重定向的Apache Storm问题(对端到端延迟的影响令人困惑)

java - RxJava2,显式完成冷源(Flowable)

java - 从父目录编译时如何在 list 文件中指定主类?

java - 导出处清洁问题

python - 我试图将 python 文件转换为 exe 文件,但它不起作用

python - 致命的 Python 错误 : Py_Initialize: unable to load the file system codec. 导入错误:没有名为 'encodings' 的模块

c# - 如何在 Azure 应用服务中运行 .EXE

java - FragmentManager 无法在 androidx 中解析