【问题标题】:Java - System.out.println() viewable from application?Java - System.out.println() 可从应用程序查看?
【发布时间】:2013-04-23 02:55:37
【问题描述】:

我有一个运行良好的 Java 应用程序 :) 在上传文件时,它使用标准输出来显示进度:“System.out.println(...);”。

当我在 Eclipse 中运行它时,它运行良好,但是当我运行 JAR 文件时,我没有看到任何控制台/终端出现并打印我通过“System.out.println(... ),"。

我的应用程序启动时如何打开一个新终端(它是一个 Swing 应用程序)? 基本上我希望能够运行 Swing 应用程序并在终端/控制台的侧面显示信息。为什么?不要担心我为什么要这样做;)

非常感谢!

问候。

【问题讨论】:

  • 使用日志框架并将它们定向到日志文件。使用 log4j/slf4j 等。
  • "别担心我为什么要这样做。" - 别担心,没有人想知道。这是与编程相关的最常见的任务之一。每个人都想这样做!这称为日志记录。这是a link to log4j,它是最流行的日志框架之一。
  • 我已经尝试使用 Java 的默认 Logger 对象,但即使我正在写入它,当应用程序运行时我也看不到任何控制台出现。

标签: java terminal


【解决方案1】:

如果您的 jar 可运行,则打开终端并以 java -cp yourjar.jar YouMainjava -jar yourjar.jar 运行应用程序。

我相信您看不到输出,因为您正在使用 javaw 运行您的应用程序 - JVM 的特殊 Windows 变体,根本没有 STDOUT。如果您想单击您的应用程序并查看要使用java 而不是javaw 打开的输出映射*.jar 文件。或者编写运行您的应用程序的bat 文件。在这种情况下,您将看到控制台。

【讨论】:

    【解决方案2】:

    使用java 而不是javaw 来启动您的应用程序。双击 jar 将使用javaw 执行它。相反,打开一个命令行窗口并输入

    java -jar thePathOfTheJarFile.jar
    

    如果你想要一些可双击的东西,那么编写一个包含此命令的 shell 脚本,然后双击 shell 脚本而不是 jar。

    【讨论】:

      猜你喜欢
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      相关资源
      最近更新 更多