【问题标题】:I make my executable jar in exe format,but i want to add jre with this我以exe格式制作我的可执行jar,但我想用这个添加jre
【发布时间】:2011-07-28 17:47:26
【问题描述】:

我以 exe 格式制作我的可执行 jar,但我想用它添加 JRE,因为如果 JRE 不存在于他们的机器中,他们可以将它与这个包含的 JRE 一起使用。

但我不想在他们的机器上安装这个 JRE。此 JRE 仅供此应用程序使用。它就像游戏或其他应用程序一样。我使用 launch4j 将 jar 制作为 exe,但我没有找到任何可以附加 JRE 的选项,也没有可以动态链接我的 jar 的选项。

我如何做到这一点?

如果有其他免费的安装程序,请注明,并举例说明过程。

【问题讨论】:

  • 这个 SO 问题应该涵盖所有内容:stackoverflow.com/questions/2258932/…
  • @das_weezul “这个 SO 问题应该涵盖所有内容:” 它涵盖了所有内容,指出创建 EXE 是第二类(或第三类)选项。跨度>
  • @是的,我的应用程序是基于 swing 的 GUI 应用程序,我想使用免费的安装程序。
  • @Andrew WebStart 还希望安装 JRE。它只是为用户提供下载和安装它。这限制了在锁定机器上的使用。 oracle.com/technetwork/java/javase/overview-137531.html
  • @das_weezul “锁定机器。” 完全不相关。这些机器上的可执行安装程序也会失败。

标签: java deployment installation


【解决方案1】:

既然已经确定您的应用程序.有一个 GUI,我会建议 Java Web Start 作为 the 答案。

但我不想在他们的机器上安装这个 JRE。

这不是一个明智的要求。用户可能已经安装了可用的 JRE,如果没有,他们可能也不希望每个基于 Java 的应用程序都安装自己的“私有”JRE。

Oracle 的deployJava.js 可以进行检查,并帮助指导用户完成安装步骤(基本上是在提示时单击“确定”)。

我将我的可执行 jar 制作成 exe 格式,..

如果你只打算支持 Windows,那么 Java 编码的吸引力是什么? JWS 支持可以使用 Java 的任何平台。这为该应用带来了更多潜在客户。

我想使用免费安装程序。

JWS 完全免费。就像 JRE。

..请举例说明过程。

您运行 IDE 吗?如果没有,您是否安装了 Ant?如果这对任何一个都是肯定的,请查看我的小JNLP API examples。每个都带有完整的源代码和一个构建文件(一个 Ant build.xml)。

在几次击键和片刻之后,您就可以看到该应用程序。在您的桌面上安装并启动。对于最终用户来说,它甚至更简单。只需单击网页中的链接,这一切都会自动发生(可能带有安全提示 - 以保护用户)。

【讨论】:

    【解决方案2】:

    我喜欢 JSmooth。你可以在这里试一试: http://jsmooth.sourceforge.net/features.php

    灵活的自动 Java VM 检测

    • 检测安装的任何 Sun JVM 的位置。包装器使用 检测计算机上所有可用 JVM 的几种策略, 使用 windows 注册表、环境变量、windows 路径。

    • 检测 并使用 Microsoft 的 JView(用于 1.0 和 1.1 Java 应用程序),如果 可用。

    • JVM 搜索序列可以使用 图形用户界面。您可以强制可执行文件首先在路径中搜索,然后在 最后是注册表,或者首先在 JAVA_HOME 中。我们有所有的口味!

    • 有时将 JRE 与您的应用程序捆绑在一起会更方便。 JSmooth 也可以处理,你只需要定义在哪个 文件夹 JRE 是预期的。它很好地回退到标准 JVM 搜索 JRE 是否不在应有的位置。

    • 指定哪些版本的 JVM 与您的软件兼容。你可以设置一个最小值 版本,也是 JVM 的最高版本。

    文档: http://jsmooth.sourceforge.net/docs/jsmooth-doc.html

    【讨论】:

    • 如果你一步一步给出过程对我会有帮助,而且一件事是在制作exe后不能打开像“试用版或jSmooth等”这样的对话框
    • “检测并使用 Microsoft 的 JView(适用于 1.0 和 1.1 Java 应用程序),如果可用的话。” 等等(查看手表)这是什么千年?
    • @saba 有一个详细的手册/文档(见上面的链接),并且 jSmooth 是 GPL,所以不需要 Nag-Screens
    【解决方案3】:

    看看launch4j。 我不得不使用它,而且效果很好。

    您可以设置所需 JRE 的最低版本、捆绑 JRE,或者如果未找到(且未捆绑)JRE,则启动器可能会将用户引导至适当 JRE 的下载位置。

    launch4j 提供了各种进一步的功能,与这里的另一个建议相反,launch4j 正在积极开发

    http://launch4j.sourceforge.net/

    【讨论】:

      猜你喜欢
      • 2017-03-19
      • 2019-05-09
      • 2015-03-09
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 2017-06-26
      相关资源
      最近更新 更多