1

我知道任何标准输出 ( System.out) 都会出现在 Java 控制台窗口中(启用时)。我在某个地方发现了一些可能无法尝试的情况,例如,来自 Swing 应用程序。是这样吗?

基本上,我不希望在控制台中看到标准输出的情况或设置是什么?例如,在 JDK 上运行的行为与在 JRE 上显式运行的行为是否存在差异?javaw.exe?

ps,我了解如何在 Java 设置中显示控制台,但我很好奇,因为我设法创建了一个应用程序,作为可执行 jar 运行,尽管System.out在 Windows 7 上调用了 ),但它不会启动控制台。

4

5 回答 5

0

您不会System.out在控制台中看到输出的唯一方法是该方法System.setOut已被调用。调用此方法以将输出重定向到图形 Java 控制台,但我不知道有任何其他实际情况会将其重定向到 Java 控制台之外,除非您自愿这样做。

于 2013-08-06T07:42:07.913 回答
0

根据终端设置,可能会在发送换行符之前不写入输出。因此,如果您这样做System.out.print("test"),它可能不会立即出现。在 Windows 上通常不是这种情况,但在 Unix 终端上这很常见。

于 2013-08-06T07:46:05.137 回答
0

可能你用 javaw 启动虚拟机,这个版本不会显示控制台消息。您可以使用 java 启动虚拟机,这将显示控制台消息。

javaw 适用于带有 Windows 的应用程序,java 适用于控制台应用程序。

于 2013-08-30T09:06:04.407 回答
0

同样的事情发生在我身上。我无法在控制台上获得 System.out.println 或 Logger.debug。

如果您在 Eclipse 或其他任何项目中进行大型项目,您可以阅读下面的内容。

解决方案:我意识到我没有将 jars 和一些 java 文件提交到网络上的 SubVersioN。就这样。项目尚未编译。

于 2014-07-09T09:18:16.107 回答
-1

我能想到的一种情况是调用System.setOut(null)(或System.setOut(any OutputStream other than System.out or System.err))然后控制台(如果存在)不会显示任何内容。

于 2013-08-06T07:42:04.140 回答