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)
appFolder
|- myJdk
|- all contents from my jdk folder, installed on the machine. (The only folder I could remove was the jmods. All the rest were needed)
|- jar file
7条答案
按热度按时间o2gm4chl1#
经过几次尝试,我终于找到了一个解决方案,将JRE捆绑到我的应用程序中:
我将我的应用打包为zip文件,其中包含以下文件夹:
在launch4j的xml文件中,我这样配置jre:
这里的技巧是该路径不是指向java.exe文件。jre的路径相对于.exe的位置,它应该指向java.exe文件之前的一个文件夹
我使用的jre文件夹只是从安装在windows系统上的jre文件夹中复制和粘贴。
kgsdhlau2#
我做了以下工作,它为我使用ver Launch 4j 3.11工作:
1.为我的应用程序创建了一个新文件夹(例如称为MyApp)。
1.将jar文件从java项目dist文件夹复制到MyApp沿着lib文件夹。
laximzn53#
和你一样的问题伙计。现在不用担心了。其全部解决以最大深度解决未来的解决方案。解决方案如何为您的jar捆绑JRE,而不需要用户安装java。您的Java应用程序将运行。
1.将
lib
和bin
文件夹从JRE文件夹复制到项目dist文件夹1.打开launch 4j并输入以下设置。
诀窍是你需要给予包含javaw.exe的完整路径。
Enjoy!
hgncfbus4#
我刚刚做了这个。上面清楚地描述了捆绑JRE的方法。
在这里,我只是分享一个我奋斗过的经历。如果你想在launch 4j创建了 Package 器exe之后再创建一个安装程序exe,请注意launch 4j和jre的文件路径。这是我用来解决问题的方法:
launch4j、bin/jre、resources/bin/jre。
launch 4j、bin和resources处于同一级别。
yduiuuwa5#
上面提到的答案对我不起作用。我用的是JDK 20。我做了什么:
1.创建了我的Jar文件
1.为应用程序创建文件夹 * appFolder *
1.将jar文件放入 * appFolder *
1.在 * appFolder * 中创建了 * myJdk * 文件夹
1.将我机器上JDK的内容放在 * appFolder * 中的 * myJdk * 文件夹中
1.将绑定的JRE(在我的示例中是JDK)的路径设置为 * myJdk/bin *,它是相对于 * appFolder * 的。
一个简单的文件夹视图:
6ljaweal6#
jre通常可以在SDK文件夹中找到。是的,在线链接是安装程序,但一旦安装,JRE现在就位于您的本地磁盘上。矿山位于
如果您真的需要,可以手动删除JRE中不需要的部分(我不确定网上有什么可用的)。
zynd9foi7#
在https://github.com/vZome/vzome/blob/master/desktop/platform/windows/README.md中可以找到使用Launch4J将Java应用程序与特定JRE捆绑在一起的工作示例。此特定发行版配置为***要求***vZome使用***捆绑的JRE***,而不是目标平台上的任何JRE。
希望这能帮上忙。