9

如何使用 JRE 分发我的应用程序 jar?我使用 .exe 在 exe 中制作我的可执行 jar launch4j

我的应用程序是基于桌面的摇摆应用程序。我想让它像一个应用程序,如果用户没有安装 JRE,他们可以通过使用嵌入式 JRE 来使用它。我将 JRE 与应用程序一起提供并使用它。卸载应用程序和 JRE 将像游戏一样卸载。

我了解,如果我将预安装的 JRE 与我的应用程序一起提供,它就会发生。我还在 中看到了 JRE 选项卡launch4j,但我不明白我将给出哪条路径。我也看到了这个链接,但是没有提供任何程序或有用的链接,其中明确定义了整个程序。

请给出一定的答案。如果您的答案基于launch4j.

4

4 回答 4

5

你如何分发你的应用程序?你有安装程序吗?

如果您有安装程序,您可以将任何 jre 与它捆绑并配置 launch4j 以使用它。

我为重新创建您的用例所做的工作:

  1. 创建一个目录,例如 C:\temp 将我的 jdk 从 C:\Program Files\Java\jdk1.6.0_23 复制到 C:\temp\myownjdk1.6.0_23 配置
  2. launch4j 使用我的 JDK:在 JRE 选项卡中,输入“myownjdk1.6.0_23”作为
  3. 捆绑的 JRE 路径,我配置为“仅使用私有 JDK 运行时”——尽管我不确定这是否真的有必要。

我使用了 JDK,但我相信您可以使用 JRE 做同样的事情。另外,我很确定您必须(或可以)为您的捆绑包使用相对路径(就像我一样)。

这是我的配置文件:

<launch4jConfig>
  <dontWrapJar>false</dontWrapJar>
  <headerType>gui</headerType>
  <jar>C:\temp\demoapp.jar</jar>
  <outfile>C:\temp\thing.exe</outfile>
  <errTitle></errTitle>
  <cmdLine></cmdLine>
  <chdir></chdir>
  <priority>normal</priority>
  <downloadUrl>http://java.com/download</downloadUrl>
  <supportUrl></supportUrl>
  <customProcName>false</customProcName>
  <stayAlive>false</stayAlive>
  <manifest></manifest>
  <icon></icon>
  <jre>
    <path>myownjdk1.6.0_23</path>
    <minVersion></minVersion>
    <maxVersion></maxVersion>
    <jdkPreference>jdkOnly</jdkPreference>
  </jre>
</launch4jConfig>
于 2011-07-29T11:18:35.503 回答
2

更好的策略是启动应用程序。使用Java Web 开始。用于deployJava.js确保有合适的 Java 最低版本可用。用户可能已经安装了合适的 JRE(因此无需下载),并且一旦选择卸载应用程序,其他 Java 应用程序和小程序就会将其安装在该处。

这不符合您声明的某些要求,但总体上是一个更好的选择。

于 2011-07-29T12:07:00.423 回答
1

您还可以查看BitRock InstallBuilder

我们为 Java 提供了非常好的支持 - 检测它是否存在以及轻松包含 JRE 和构建启动程序二进制文件。

您可以在此处找到更多信息:http: //installbuilder.bitrock.com/docs/installbuilder-userguide/ar01s17.html#_bundling_a_jre

和 Java 组件/JRE 文件:http: //installbuilder.bitrock.com/java/

使用上面链接中的文件,就像在项目中设置一些变量一样简单,安装程序就可以工作了。

它不是免费的,但如果您的项目是开源的,您可以申请免费的开源许可证,您可以使用它为您的应用程序创建安装程序。

免责声明:我是 BitRock InstallBuilder 的开发人员之一,所以我有偏见。

于 2011-08-09T08:44:30.343 回答
0

我创建了自己的launch4j版本,它允许自动下载和安装所需的JRE - 无人值守 - (它显示下载进度,没有安装进度,并且没有选项将JRE安装程序下载到安装程序工作目录以外的其他目录 -如果有人对此功能感兴趣,我可以添加此功能)。只需转到 launch4j 的“JRE”选项卡来设置您的选项。此外,这仅适用于 GUI 安装,目前不适用于控制台。在这里你可以得到它:https ://github.com/maztan/launch4j_auto_jre_download

于 2015-04-07T15:36:15.500 回答