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

时间:2011-08-15 21:39:05

标签: portability exe java launch4j

我的计算机上有Launch4J,这是一个很棒的程序。我感兴趣的一个功能是能够在一般.EXE文件中捆绑JRE。但是,我找不到任何描述如何执行此操作的文档。

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

6 个答案:

答案 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应用程序将运行。

  1. 将{strong> JRE 文件夹中的libbin文件夹复制到项目广告文件夹
  2. jar to exe conversion

    1. 打开launch4j并输入以下设置。 enter image description here
    2. 诀窍是你需要提供包含javaw.exe的完整路径。

      享受!!!!

答案 2 :(得分:3)

我做了以下操作,它使用ver Launch4j 3.11:

为我工作
  1. 为我的应用程序创建了一个新文件夹(例如调用 MyApp的)。
  2. 将jar文件从java project dist文件夹复制到MyApp 以及lib文件夹。
  3. 在我的应用程序文件夹MyApp中创建了一个名为jre的文件夹 所以现在MyApp文件夹包含:
    • MyApp.jar
    • lib&lt; - 这有我的java应用程序所需的库。
    • JRE
  4. 从java jre文件夹(C:\ Program)复制bin和lib文件夹     文件(x86)\ Java \ jre7)到MyApp \ jre
  5. 在Launch4j中设置了所有必需的选项,然后设置 捆绑的JRE路径为“jre”

    Launch4j JRE options

  6. 确保在搜索选项“仅使用私有JDK运行时”中 被选中。

答案 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中不需要的部件(我不确定在线是否可以使用)。