为控制台制作一个jar文件

时间:2010-12-21 08:50:38

标签: java console executable-jar

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

  

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

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

  

的System.out.println( “服务器:” +输出);

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

4 个答案:

答案 0 :(得分:11)

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

java -jar yourJar.jar
pause

如果你想强迫这个,有不同的方法:

  • CMD的快捷方式文件和jar作为参数
  • 使用上面的代码
  • 运行jar的批处理文件
  • 手动从批处理文件中调用它(如上所述)

答案 1 :(得分:7)

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

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

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

答案 2 :(得分:3)

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

当然,如果您想在控制台上启动某些内容,只需打开控制台并使用以下内容:java -jar archive.jar(符合上述要求)

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

答案 3 :(得分:0)

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