【问题标题】:Make an executeble JAR run in a console when double clicked双击时使可执行 JAR 在控制台中运行
【发布时间】:2011-09-03 20:59:46
【问题描述】:

我正在将用 C++ 编写的简单控制台应用程序移植到 Java 中,以展示这两种语言的相似程度,以及如何移植代码。我已经为使用 Eclipse 的程序导出了可执行的 JAR。这些 JAR 在使用 java -jar 命令运行时可以正常工作。但是,当从 Windows 资源管理器(双击)执行时,它们无法正常运行。控制台窗口只是快速打开和关闭。

到目前为止,我发现的唯一解决方案是使用批处理文件。还有其他选择吗?

【问题讨论】:

标签: java windows jar


【解决方案1】:

有一些选择:

  1. 程序运行完成后睡一会,以便阅读输出。
  2. 调用System.in.read()(再次在程序结束时),它会一直等到您输入一个字符并按回车键。
  3. 创建您自己的小摇摆终端,应用代码完成后它不会关闭。

【讨论】:

  • 我应该澄清一下。它应该首先提示通过 java.io.Console.getline() 输入它甚至不这样做。所以问题不在于程序何时退出,而在于它似乎根本无法正常运行。
【解决方案2】:

这似乎从命令行和注册表中使用的 jre 不一样(安装多个 JRE 时可能会发生这种情况)

您是否在 Windows 注册表中检查过用于运行可执行 jar 的 jre 是什么? 您可以在sun's site上找到更多关于注册表设置的信息

【讨论】:

  • 我只安装了 JRE 7,我的注册表设置反映了这一点。
【解决方案3】:

在我看来,您的主要课程甚至没有被执行。 这将解释控制台窗口的快速打开/关闭。

或者除了 java 之外的其他程序是否有可能具有“jar”文件类型? 安装诺基亚软件后发生在我身上。

【讨论】:

    【解决方案4】:

    使用批处理文件似乎是我最好的选择。我想这就是 Eclipse 有一个启动器的原因。

    【讨论】:

      【解决方案5】:

      将打开方式更改为 c:\程序文件\java\jre7\bin\javaw.exe

      【讨论】:

        猜你喜欢
        • 2021-12-26
        • 1970-01-01
        • 1970-01-01
        • 2016-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-06
        • 1970-01-01
        相关资源
        最近更新 更多