簡體   English   中英

如何將JRE與Launch4j捆綁在一起?

[英]How to bundle a JRE with Launch4j?

我的計算機上有Launch4J,這是一個很棒的程序。 我感興趣的一個功能是能夠在一般.EXE文件中捆綁JRE。 但是,我找不到任何描述如何執行此操作的文檔。

如何將JRE與EXE捆綁在一起? 另外,我在哪里可以運行緊湊的便攜式JRE? Oracle上的下載鏈接用於安裝程序包。

經過一些嘗試后,我終於得到一個解決方法,將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文件夾中復制和粘貼。

像你交配一樣的問題。 現在不用擔心。 它全部解決了最大深度,以解決未來的解決方案。 解決方法如何在不需要用戶安裝java的情況下為您的jar捆綁JRE 您的Java應用程序將運行。

  1. libbin文件夾從JRE文件夾復制到項目dist文件夾

jar轉exe

  1. 打開launch4j並輸入以下設置。 在此輸入圖像描述

訣竅是你需要提供包含javaw.exe的完整路徑。

請享用!!!!

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

  1. 為我的應用程序創建了一個新文件夾(稱為MyApp)。
  2. 將jar文件從java項目dist文件夾復制到MyApp以及lib文件夾。
  3. 在我的應用程序文件夾MyApp中創建了一個名為jre的文件夾,所以現在MyApp文件夾包含:
    • MyApp.jar
    • lib < - 這有我的java應用程序所需的庫。
    • JRE
  4. 將bin和lib文件夾從java jre文件夾(C:\\ Program Files(x86)\\ Java \\ jre7)復制到MyApp \\ jre
  5. 在Launch4j中設置了所有必需的選項,然后將Bundled JRE路徑設置為“jre”

    Launch4j JRE選項

  6. 確保在搜索選項中選擇“僅使用私有JDK運行時”。

我剛做完了 以上清楚地描述了捆綁jre的方法。

在這里,我只是分享一些我一直在努力的經歷。 如果要在launch4j創建包裝器exe之后創建安裝程序exe,請注意launch4j和jre的文件路徑。 這是我用來解決問題的途徑:

launch4j,bin / jre,resources / bin / jre。

launch4j,bin和資源處於同一級別。

可以在https://github.com/vZome/vzome/blob/master/desktop/platform/windows/README.md找到使用Launch4J將Java應用程序與特定JRE捆綁在一起的工作示例。 此特定分發配置為要求 vZome使用捆綁的JRE而不是目標平台上的任何JRE。

希望這可以幫助。

jre通常可以在SDK文件夾中找到。 是的在線鏈接是安裝程序,但安裝后,JRE現在位於本地磁盤上。 我的位於

${jdk folder}\jre

如果您真的想要,可能會手動刪除JRE中不需要的部件(我不確定在線是否可用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM