Mag*_*y52 26 java exe jar launch4j
我是Java编程的新手,但我一般都熟悉一切是如何工作的.我希望能够将jar文件和jre放入windows可执行文件(exe)中,这样当我分发它时,客户端不需要安装JRE.我应该使用什么程序?
我有launch4j,它似乎正是我想要的,但是当我尝试运行应用程序时,我得到"这个应用程序被配置为使用捆绑的Java运行时环境,但运行时丢失或损坏."
我希望我的应用程序只是一个可运行的exe,而不是安装程序.至少,有人能告诉我如何正确地将一个JRE与launch4j捆绑在一起吗?
ban*_*ing 36
我可以捆绑JRE的唯一方法是使用Launch4J和Inno Setup Compiler.
首先,jre6在与输出文件(.exe)相同的目录中创建一个文件夹(例如).
然后将JRE从系统复制到jre6文件夹中.
然后打开Launch4J并设置Bundled JRE路径 - 只需输入jre6.然后单击Build按钮(显然,在您输入所有其他参数后 - 但您需要在JRE选项卡上输入的唯一值是Bundled JRE路径值.)
我希望这可以工作,但是如果你然后将.exe移动到一个新位置(因此它不再与你的jre6文件夹位于同一位置)你得到了这个应用程序被配置为使用捆绑的Java运行时环境但是尝试运行应用程序时运行时丢失或损坏错误...
我整天都在玩这个,我无法让Launch4J在.exe文件中包含JRE.我认为真的很差,因为他们的文档似乎根本没有提到这个问题.
所以我要解决的是使用Inno Setup Compiler(ISC).此应用程序用于将.exe包装为Windows Installer文件.所以我在ISC脚本中添加了一个设置,将JRE复制到安装程序包中.我添加到脚本(在本[Files]节中)的行是:
Source: "M:\Netbeans\MyApp\jre6\*"; DestDir: "{app}\jre6\"; Flags: recursesubdirs createallsubdirs
Run Code Online (Sandbox Code Playgroud)
...一些解决方法,但它确实做到了.
重复上述所有步骤,您应该进行排序.
将 jre 打包为 lanch4j 打包的 exe 的简单方法是使用 wrap。
warp-packer --arch windows-x64 --input_dir mycrt --exec run.bat --output single.exe
Run Code Online (Sandbox Code Playgroud)
然后在启动exe时停止cmd窗口。
editbin /subsystem:windows
Run Code Online (Sandbox Code Playgroud)
经线:https : //github.com/dgiagio/warp
editbin : 由 VS 安装
演示:
Mat*_*ter -3
你所要求的并不容易做到(如果它完全可行的话)。如果我是你,我会考虑创建一个可执行的 JAR 文件:
另一种选择是使用 Java Web Start。假设您使用的是现代浏览器,JNLP 将自动提示用户安装正确版本的 Java。
http://docs.oracle.com/javase/tutorial/deployment/webstart/index.html
| 归档时间: |
|
| 查看次数: |
54179 次 |
| 最近记录: |