[英]How to bundle a JRE with Launch4j?
我的计算机上有Launch4J,这是一个很棒的程序。 我感兴趣的一个功能是能够在一般.EXE文件中捆绑JRE。 但是,我找不到任何描述如何执行此操作的文档。
如何将JRE与EXE捆绑在一起? 另外,我在哪里可以运行紧凑的便携式JRE? Oracle上的下载链接用于安装程序包。
经过一些尝试后,我终于得到一个解决方法,将jre捆绑在我的应用程序中:
我将我的应用程序打包为zip文件,其中包含以下文件夹:
containerFolder
|- jre
|-bin (in bin there is java.exe)
|-lib
|- cfg (to save the user configuration, but it's not needed)
|- bin (my application with the .exe and the .jar and all the other stuff)
在launch4j的xml文件中我配置jre,如下所示:
<jre>
<path>../jre</path>
<opt>-DgvSIG.confDir=../cfg</opt>
</jre>
这里的诀窍是路径不是java.exe文件。 jre的路径是相对于.exe的位置,它应该指向java.exe文件之前的一个文件夹
我正在使用的jre文件夹只是从安装在Windows系统上的jre文件夹中复制和粘贴。
我做了以下操作,它使用ver Launch4j 3.11为我工作:
在Launch4j中设置了所有必需的选项,然后将Bundled JRE路径设置为“jre”
我刚做完了 以上清楚地描述了捆绑jre的方法。
在这里,我只是分享一些我一直在努力的经历。 如果要在launch4j创建包装器exe之后创建安装程序exe,请注意launch4j和jre的文件路径。 这是我用来解决问题的途径:
launch4j,bin / jre,resources / bin / jre。
launch4j,bin和资源处于同一级别。
可以在https://github.com/vZome/vzome/blob/master/desktop/platform/windows/README.md找到使用Launch4J将Java应用程序与特定JRE捆绑在一起的工作示例。 此特定分发配置为要求 vZome使用捆绑的JRE而不是目标平台上的任何JRE。
希望这可以帮助。
jre通常可以在SDK文件夹中找到。 是的在线链接是安装程序,但安装后,JRE现在位于本地磁盘上。 我的位于
${jdk folder}\jre
如果您真的想要,可能会手动删除JRE中不需要的部件(我不确定在线是否可用)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.