关于捆绑JRE的JSmooth问题

时间:2010-03-15 15:25:57

标签: java windows exe software-distribution launcher

我正在尝试将JRE与我的jar文件捆绑在一起,以便我可以在任何Windows计算机上运行我的应用程序,无论它是否具有Java。 jsmooth手册说:

For the option to work correctly, you have to put a JRE in a directory near the EXE (generally in a subdirectory called "jre" or whatever). Once the exe is generated, it will FIRST try to locate the JRE at the location mentioned. If it can't be found there, then it will fallback in the normal jre look-up mode (search for a jre or a jdk in the Windows registry or in commonly-used environment variables). There is no JVM-version check when using a bundled JRE, as the packager is supposed to bundle a suitable JVM for the application.

这是否意味着jre子文件夹应该包含在jar中,是它自己独立的jar,还是放在exe附带的文件夹中?如果它应该在exe文件夹中,如何指定jre子文件夹的相对路径?

我的目录如下:

建立/

-jre /

-myprogram.exe

我尝试在GUI屏幕中使用..\jre.\jre..\setup\jre,但都没有效果。

任何想法或线索都将不胜感激。非常感谢!

编辑:当我尝试jre(以及我认为..\jre)时,当我尝试运行它时,我从Windows收到以下错误消息“MyProgram.exe已停止运行。”当我查看问题详细信息时,它说APPCRASH和故障模块名称是jvm.dll

3 个答案:

答案 0 :(得分:1)

只需将“jre”文件夹放在exe旁边,然后在jsmooth的GUI中写下“jre”(不带引号)

答案 1 :(得分:0)

作为替代方案,我建议使用成熟的开源项目NSIS。您可以编写一个安装程序来下载并安装JRE,然后创建运行程序的快捷方式。

以下是一些有用的链接:

答案 2 :(得分:0)

您是否尝试过Launch4J(http://launch4j.sourceforge.net/),我们刚刚从JSmooth切换到此版本,因为它更新,并且具有更多功能。

但是,将jre文件夹放在与.exe相同的文件夹中,然后使用jre \作为它的路径。您需要确保.exe的工作文件夹是安装文件夹。并确保你在jre文件夹中有一个完整的JRE。