【问题标题】:Exporting a program in Eclipse that works for people not familiar with Java programming在 Eclipse 中导出一个适用于不熟悉 Java 编程的人的程序
【发布时间】:2012-01-22 20:48:46
【问题描述】:

我做了一个小扫雷游戏,我想把它发给朋友,让他测试一下。问题(可能)是他无法运行它,因为他的计算机上没有为程序员安装 Java(JDK)。如何导出可以在其他计算机上运行的程序而无需下载任何其他文件**(JRE 除外)**?

编辑:我确实阅读了有关将 JAR 转换为 EXE 的信息,但我找不到任何可以做到这一点的东西。

EDIT2:Download here JAR 文件(它应该只打开一个空白窗口)。我在两台安装了 JDK 的计算机上对其进行了测试,它可以正常工作,而在另外两台没有 JDK(一台带有最新的 JRE)的计算机上它无法启动。这是错误: .

【问题讨论】:

  • 您的朋友是否安装了 JRE(Java 运行时环境)? (这在许多操作系统上默认安装,但不是全部。)
  • 我现在在问他,但我想知道如何用 Java 制作一个通常与其他 PC 兼容的独立游戏,例如 Minecraft(我的朋友可以在他的电脑)。
  • @JanBurak:即使是 Minecraft 也需要单独安装 JRE,请参见此处:minecraftwiki.net/wiki/Hardware_performance ->“Java 运行时环境 (JRE) 6 及更高版本才能运行游戏。”

标签: java eclipse jar compatibility


【解决方案1】:

没有办法“不必下载任何其他文件” - 您的朋友必须至少安装一些 Java 运行时环境(或只是“Java”)才能运行 Java 程序。

如果您的朋友安装了 Java,您可以package your application as a fat JAR 这样他只需要您的 JAR 即可运行您的应用程序(取决于应用程序 - 但我认为您的应该没问题)。

【讨论】:

  • 我完全按照该主题中的说明进行操作,当我尝试打开 JAR 时,出现错误“发生 Java 异常”并且无法打开。我安装了最新的 JRE,该程序在 Eclipse 中运行时运行良好。当我在导出 JAR 时选择主类时,没有错误,程序根本没有启动。
  • @JanBurak 尝试通过java -jar MyJar.jar 从命令行运行jar,看看控制台告诉你什么。 (听起来你在双击它,这会产生不太有用的错误消息。)
  • 我选择了错误处理选项,因此 Eclipse 对程序实际使用的“未使用”变量做了一些处理,但它无法启动(或其他一些编译错误)。 JAR 现在可以在我的计算机上运行,​​但我仍然需要检查它是否可以在其他计算机上运行。可能我明天可以检查一下,因为我的朋友不在线。
  • @JanBurak 整洁。如果它在您的 JRE 上运行,则极有可能在其他 JRE 上运行。希望一切顺利。
  • 当他试图通过双击运行它时,他得到一个错误“找不到主类:game.gameManager”。他现在正试图通过 cmd 运行它。
【解决方案2】:

有可用的工具,谷歌“java windows executable”,你会发现例如

或者已经在 SO

【讨论】:

    【解决方案3】:

    Java Web Start 非常适合这一点,因为它可以让用户在支持的平台上安装所需的组件。有一个简单的例子here

    【讨论】:

      【解决方案4】:

      不可能,JRE(Java 运行时环境)是至少必须存在的。 如果是这样,您可以将程序导出为 jar,在其清单中指定主类。如果安装了 JRE,您的朋友应该能够直接运行 jar 文件。

      【讨论】:

        【解决方案5】:

        您可以将游戏的编译二进制文件发送给您的朋友。在这种情况下,您的朋友只需安装 Java Runtime Environment 即可玩您的游戏。

        【讨论】:

          【解决方案6】:

          从中制作可执行的 JAR,你的朋友仍然需要 JRE。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-06-07
            • 1970-01-01
            • 1970-01-01
            • 2020-06-01
            • 2012-03-28
            相关资源
            最近更新 更多