Portability 如何将JRE与Launch4j捆绑?
我在我的电脑上启动了4J,这是一个很棒的程序。我感兴趣的一个特性是能够在general.EXE文件中绑定JRE。但是,我找不到任何描述如何进行此操作的文档Portability 如何将JRE与Launch4j捆绑?,portability,exe,java,launch4j,Portability,Exe,Java,Launch4j,我在我的电脑上启动了4J,这是一个很棒的程序。我感兴趣的一个特性是能够在general.EXE文件中绑定JRE。但是,我找不到任何描述如何进行此操作的文档 如何将JRE与EXE绑定?另外,在哪里可以运行一个紧凑的、可移植的JRE?Oracle上的下载链接用于安装程序包。jre通常可以在SDK文件夹中找到。是的,联机链接是安装程序,但一旦安装,JRE现在就位于本地磁盘上。我的矿位于伦敦 ${jdk folder}\jre 如果您真的需要,您不需要从JRE中删除的部分可能可以手动删除(我不确定网上
如何将JRE与EXE绑定?另外,在哪里可以运行一个紧凑的、可移植的JRE?Oracle上的下载链接用于安装程序包。jre通常可以在SDK文件夹中找到。是的,联机链接是安装程序,但一旦安装,JRE现在就位于本地磁盘上。我的矿位于伦敦
${jdk folder}\jre
如果您真的需要,您不需要从JRE中删除的部分可能可以手动删除(我不确定网上有什么可用)。经过一些尝试,我终于找到了一个解决方法,可以在我的应用程序中捆绑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>
../jre
-DgvSIG.confDir=../cfg
这里的技巧是路径不是指向java.exe文件。jre的路径是相对于.exe的位置的,它应该指向java.exe文件之前的一个文件夹
我使用的jre文件夹只是安装在windows系统上的jre文件夹的复制和粘贴。与您遇到的问题相同。现在不用担心了。它以最大的深度解决所有问题,以解决未来的解决方案。 解决方案:如何为jar绑定JRE,而无需用户安装java或不安装java。您的java应用程序将运行
lib
和bin
文件夹从JRE文件夹复制到project dist文件夹中享受吧 我做了以下操作,并使用ver Launch4j 3.11对我有效:
- MyApp.jar
- lib我刚刚做了这个。上面清楚地描述了绑定jre的方法
在这里,我只是分享一个我奋斗过的经历。如果要在launch4j创建包装器exe后创建安装程序exe,请注意launch4j和jre的文件路径。这是我用来解决问题的路径:
启动4j,bin/jre,resources/bin/jre
launch4j、bin和资源处于同一级别 有关使用Launch4J将Java应用程序与特定JRE捆绑在一起的工作示例,请访问。此特定发行版配置为要求使用捆绑的JRE,而不是目标平台上的任何JRE
希望这有帮助。如何将其捆绑到EXE中?我正在尝试将所有内容打包到jar中,这样我就不必担心用户是否安装了Java。我意识到让他们下载java可能是最好的主意;不过,我想尝试一下我所有的部署选项。@CodeBunny这在Launch4j中是不可能的,但是有人找到了另一个很好的解决方案:这对我帮助很大!文档对此不太清楚。。。工作方式很有魅力:-)嗨,这是什么路径?/jre它可能是C://…java文件夹中的现有路径,也可能是下载的新java jre安装程序。@rajaredypolamreddy是从.exe文件到应用程序中jre所在文件夹的相对路径问题是如何将exe中的jre与launch4j捆绑在一起。这个答案展示了如何告诉launch4j使用一个特定的JRE,这个JRE是您与EXE捆绑在一起的,但不是在它里面。这似乎是launch4j所能做到的最好的方法。(下面的另一个答案显示了一种创建安装程序的方法,该安装程序将同时安装您的EXE和JRE,但JRE将不在EXE中。)那么没有JRE的JDK11呢?Launch4j允许您将JRE与您的EXE捆绑在一起,因此与它一起。您不能使用它将JRE嵌入到您的exe中。这甚至意味着什么…@DKIT这意味着您可以将程序放入包含JRE的文件夹中,但您不能使用launch4j生成自动包含JRE的独立.exe文件。因此,您可以将JRE与exe绑定(在同一文件夹中),但不能将其嵌入exe本身。最终,您将向客户端分发一个文件夹,或者最终取决于客户端系统的JRE/JDK。将任何文件放入dist文件夹在清理和生成期间出错:无法删除文件。。。