【问题标题】:making a jar file for console为控制台制作一个jar文件
【发布时间】:2011-05-28 17:01:01
【问题描述】:

我有一个没有 GUI 的程序,我使用控制台!所以首先我从控制台读取用户的一行

BufferedReader userReader = new BufferedReader(new InputStreamReader(System.in));

然后我会在控制台中为用户写一个答案!

System.out.println("服务器:"+输出);

我想为它创建一个 jar 文件!但是如何在不使用 GUI 的情况下在 jar 文件中显示我的控制台? 请帮助我,谢谢。

【问题讨论】:

  • 查看如何创建 jar 部分检查 this

标签: java console executable-jar


【解决方案1】:

您需要从 CLI(命令行)运行您的 jar 文件。喜欢:

java -jar yourJar.jar
pause

如果你想强制这样做,有不同的方法可以做到这一点:

  • CMD 的快捷方式文件和您的 jar 作为参数
  • 使用我上面的代码运行你的 jar 的批处理文件
  • 手动从批处理文件中调用它(就像我在上面所做的那样)

【讨论】:

  • 它运行起来和看起来一样好(我刚刚运行java jarjar.jar;它给了我一个jarjar.jar不存在的错误)。
  • 当您省略 -jar 选项时,该参数将被视为类名,这显然不起作用。只有在使用 -jar 选项时,您才能运行“可执行”jar 文件
  • 啊,好的。我承认我无法对此进行测试(我不再使用 Java 开发)。感谢您的澄清。
  • 当我像你说的那样运行我的 jar 文件时,我看不到控制台!!
  • @user472221:你需要先启动控制台,然后输入上面的命令
【解决方案2】:

无论是否使用 GUI,制作一个可执行的 jar 都是一样的。您需要在您的META-INF/MANIFEST.MF 中指定您的Main-Class。见hereand here

当然,如果你想在控制台上启动一些东西,只需打开控制台并使用以下内容:java -jar archive.jar(满足上述要求)

那么我建议使用java.io.Console 来读写控制台。

【讨论】:

  • 如果我理解他的意思,问题是他看不到控制台。
  • 当你运行一个 jar 文件时!你可能看不到控制台!我对吗?但是用命令行我想我可以
  • 正如我的朋友在下面写的,我应该从命令行运行它!我说的对吗?
【解决方案3】:

创建 JAR 文件的过程对于控制台和基于 GUI 的应用程序是相同的。您绝对看不到 JAR 的输出。只需从控制台执行它,您就会看到输出。为了便于使用,您可以制作一个批处理文件 (MS-Windows) 来运行您的 JAR。

【讨论】:

    【解决方案4】:

    首先,没有“控制台 JAR”和“GUI JAR”之类的东西。不过,控制台和 GUI 模式有不同的 VM 启动器。或者,更准确地说,有不同的启动器,其中一个具有控制台,另一个没有,但如果您的程序有一个,它们都能够显示 GUI。这些启动器被命名为“java”(控制台版本)和 javaw(无控制台版本)。

    要使用特定启动器启动 JAR,请使用“javaw -jar JARFILE”或“java -jar JARFILE”命令。如果您在启动控制台版本之前没有打开控制台,那么控制台会在您的程序完成后立即关闭。这意味着如果你想看到你的输出,你不应该太快终止你的程序,或者先启动一个控制台(Win+R,“cmd”,Enter)然后从控制台运行“java -jar ...”。

    另一种方法是转到 Windows 控制面板并将 the program associated with the JAR extension 从“javaw”更改为“java”。这将使系统中的每个 JAR 都使用控制台。对于带有 GUI 的 JAR,这只会带来打开另一个窗口的不便。有时是你想要的,有时不是。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      相关资源
      最近更新 更多