繁体   English   中英

为控制台制作一个jar文件

[英]making a jar file for console

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

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

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

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

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

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

java -jar yourJar.jar
pause

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

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

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

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

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

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

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

然后我建议使用java.io.Console读取和写入控制台。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM