我的计算机上有Launch4J,这是一个很棒的程序。我感兴趣的一个功能是能够在一般.EXE文件中捆绑JRE。但是,我找不到任何描述如何执行此操作的文档。
如何将JRE与EXE捆绑在一起?另外,我在哪里可以运行紧凑的便携式JRE? Oracle上的下载链接用于安装程序包。
答案 0 :(得分:71)
经过一些尝试后,我终于得到一个解决方法,将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文件夹中的复制和粘贴。
答案 1 :(得分:5)
和你交配一样的问题。现在不用担心。它全部解决了最大深度,以解决未来的解决方案。 解决方案如何为您的jar捆绑 JRE ,而无需用户必须安装java。您的Java应用程序将运行。
答案 2 :(得分:3)
我做了以下操作,它使用ver Launch4j 3.11:
为我工作在Launch4j中设置了所有必需的选项,然后设置 捆绑的JRE路径为“jre”
答案 3 :(得分:0)
我刚刚做到了。上面清楚地描述了捆绑jre的方法。
在这里,我只是分享我一直在苦苦挣扎的经历。如果要在launch4j创建包装器exe之后创建安装程序exe,请注意launch4j和jre的文件路径。这是我用来解决问题的方法:
launch4j,bin / jre,资源/ bin / jre。
launch4j,bin和资源处于同一级别。
答案 4 :(得分:0)
可以在https://github.com/vZome/vzome/blob/master/desktop/platform/windows/README.md上找到使用Launch4J将Java应用程序与特定JRE捆绑在一起的工作示例。此特定发行版配置为 要求 vZome以使用 捆绑JRE ,而不是找到的任何JRE在目标平台上。
希望这会有所帮助。
答案 5 :(得分:-1)
jre通常可以在SDK文件夹中找到。是的在线链接是安装程序,但安装后,JRE现在位于本地磁盘上。我的位于
${jdk folder}\jre
如果您真的想要,可能会手动删除JRE中不需要的部件(我不确定在线是否可以使用)。