如何捆绑JRE与Launch4j?

我的电脑上有Launch4J,这是一个很棒的程序。 我感兴趣的function之一是在通用.EXE文件中捆绑JRE的能力。 但是,我找不到任何文档描述如何去做这个。

我如何将JRE与EXE绑定? 另外,我在哪里可以得到一个紧凑的,便携式的JRE运行? Oracle上的下载链接适用于安装程序包。

经过一番尝试,我终于find了解决方法,将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文件中,我configuration了这个jre:

 <jre> <path>../jre</path> <opt>-DgvSIG.confDir=../cfg</opt> </jre> 

这里的诀窍是path不是java.exe文件。 jre的path是相对于.exe的位置,它应该指向java.exe文件之前的一个文件夹

我正在使用的jre文件夹只是从安装在Windows系统上的jre文件夹复制和粘贴。

我可以捆绑JRE的唯一方法是使用Launch4J和Inno Setup Compiler。

首先,在输出文件(.exe)所在的目录中创build一个“jre6”文件夹(例如)。

然后将JRE从系统中复制到jre6文件夹中。

然后你打开Launch4J并设置'Bundled JRE path' – 只需input:jre6。 然后点击Buildbutton(显然,input所有其他参数之后 – 但是您需要在“JRE”选项卡上input的唯一值是“捆绑的JREpath”值。)

我希望能够工作,但是如果将.exe移动到一个新的位置(所以它不再与你的jre6文件夹位于同一位置),你会得到这个应用程序被configuration为使用捆绑的Java运行时环境,但是运行时丢失或损坏“错误当您尝试运行应用程序…

我一整天都在玩这个游戏,而且我无法让Launch4J将.JRE文件包含在.exe文件中。 我认为真的很差,因为他们的文件似乎没有提到这个问题。

所以我所要解决的就是使用Inno Setup Compiler。 这个应用程序是用来包装你的.exe作为一个Windows Installer文件。 所以我给ISC脚本添加了一个设置,将JRE复制到安装程序包中。 我添加到脚本(在[文件]部分)的行是:

 Source: "M:\Netbeans\MyApp\jre6\*"; DestDir: "{app}\jre6\"; Flags: recursesubdirs createallsubdirs 

…一些解决方法,但它伎俩。

重复上述所有步骤,你应该sorting。

答:从这里 ..用户1617737

jre通常可以在您的SDK文件夹中find。 是的在线链接是安装程序,但一旦安装,JRE现在位于本地磁盘上。 矿位于

 ${jdk folder}\jre 

如果你真的想要的话,那些你不需要的JRE部分可能会被手动删除(我不确定在线提供什么)。