在 Windows 可执行文件中嵌入 JRE?

假设我想分发一个 Java 应用程序。

假设我想将其作为单个可执行文件分发。我可以很容易地在单个文件中构建一个包含应用程序及其所有外部依赖项的.jar(带有一些Ant黑客攻击)。

现在假设我想在Windows上将其作为.exe文件分发。这很容易,因为那里有不错的工具(如Launch4j等)。

但是,假设现在我也不想依赖于最终用户安装了正确的JRE(或任何JRE)。我想在我的应用中分发 JRE,并且我的应用应该在此 JRE 上运行。创建 Windows 安装程序可执行文件,并在其中嵌入包含所有必要 JRE 文件的文件夹非常简单。但是,我正在分发一个安装程序,而不是一个单文件的应用程序。

有没有办法将应用程序 JRE 都嵌入到充当应用程序启动器(而不是安装程序)的 .exe 文件中?


答案 1

尝试使用 Avian 和 ProGuard 工具包。Avian允许在您的应用程序中嵌入轻量级虚拟机,支持Linux,MacOS,Windows和iOS。ProGuard 允许您收缩大型 jar 文件以准备嵌入。


答案 2

有一个新工具可以做到这一点:Packr
https://github.com/libgdx/packr


推荐