首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将JRE与Launch4j捆绑在一起?

如何将JRE与Launch4j捆绑在一起?
EN

Stack Overflow用户
提问于 2018-04-11 01:21:22
回答 2查看 0关注 0票数 0

我的电脑上有Launch4J,这是一个很棒的程序。我感兴趣的特性之一是能够将JRE捆绑在通用的.exe文件中。但是,我找不到任何描述如何进行此操作的文档。

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

EN

回答 2

Stack Overflow用户

发布于 2018-04-11 09:28:11

将我的应用程序打包成一个zip文件,里面有以下文件夹:

代码语言:txt
复制
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如下所示:

代码语言:txt
复制
<jre>
    <path>../jre</path>
    <opt>-DgvSIG.confDir=../cfg</opt>
</jre>

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

我使用的jre文件夹只是安装在windows系统上的jre文件夹的拷贝和粘贴。

票数 0
EN

Stack Overflow用户

发布于 2018-04-11 10:48:15

绑定JRE的唯一方法是使用Launch4J和Inno SetupCompiler。

首先,在与输出文件(.exe)相同的目录中创建一个‘jre 6’文件夹(例如)。

然后将JRE从您的系统复制到你的jre 6文件夹中。

然后打开Launch4J并设置‘捆绑JRE路径’-只需输入:jre 6。然后单击Build按钮(很明显,在输入了所有其他参数之后--但是在“JRE”选项卡上输入的唯一值是“绑定的JRE路径”值)。

我本以为这是可行的,但如果将.exe移动到一个新位置(因此它不再与jre 6文件夹共存),将得到“此应用程序被配置为使用捆绑的Java运行时环境,但运行时丢失或损坏”错误,当试图运行该应用程序.

我已经玩了一整天了,我无法让Launch4J将JRE包含在.exe文件中。在我看来真的很糟糕,因为他们的文件似乎根本没有提到这个问题。

所以我要解决的就是使用Inno安装编译器。此应用程序用于将.exe包装为Windows安装程序文件。因此,我向ISC脚本添加了一个设置,将JRE复制到安装程序包中。添加到脚本中的行(在档案(第一节)是:

代码语言:txt
复制
Source: "M:\Netbeans\MyApp\jre6\*"; DestDir: "{app}\jre6\"; Flags: recursesubdirs createallsubdirs
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档