今天早上,当我在 Windows 7 机器上从命令行执行一个简单的 hello world Java 应用程序时,响应出现在命令下方。像这样的东西:
java HelloWorld 你好世界
现在同样的命令会弹出一个新窗口并立即消失。我输入了 System.console().readLine("enter to continue"); 这正如预期的那样。按下 enter 后,新窗口将关闭。
我该如何防止这种情况发生?(1.7_21)
额外的清晰度:
编码:
public class HelloWorld {
public static void main() {
System.out.println("Hello World");
}
}
采取的步骤:
- 通过 Start/Run... cmd 打开一个 DOS 窗口
- 在 DOS 窗口中,我 cd 到正确的文件夹
- 在 DOS 窗口中输入:java HelloWorld
- 一个新的“java”窗口打开大约 1/10 秒(任务栏上的图标是 Java 图标。
- 我发出命令: java -verbose HelloWorld
打开同一个窗口,我可以看到所有类正在加载,但随后立即关闭
如果我(非常快速地)选择了一些关于加载类的文本,我可以通过任务管理器看到 Java在跑。 - 发出命令:java
我希望得到“使用”回来。相同的窗口出现然后立即消失。
我的问题是,“为什么 java 可执行文件会打开这个 java 窗口?” 在其他机器上,它把它的输出放在同一个 DOS 窗口中。
另请注意,Netbeans 也不在输出窗口中显示输出,在这种情况下,它似乎完全丢失了。我可以单步执行程序,但输出未显示在输出窗口中。
PS 我不是新手,多年来我一直在命令行运行 Java,而这才刚刚开始发生。(不,我不知道发生了什么变化,我相信这台机器从我们公司的安全人员那里收到了某种安全补丁。我无法从他们那里得到什么变化。)