[英]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文件夾中復制和粘貼。
我做了以下操作,它使用ver Launch4j 3.11為我工作:
在Launch4j中設置了所有必需的選項,然后將Bundled JRE路徑設置為“jre”
我剛做完了 以上清楚地描述了捆綁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.