在可执行的jar文件中运行代码没有什么特别的。如果您从控制台运行它,例如,
java -jar foo.jar输出仍将进入控制台。
如果您以某种不附加控制台的方式运行代码(例如,
javaw在Windows上,这是与可执行jar文件关联的默认程序),则输出将无处可去。它不会引起任何错误-
文本只会丢失。
请注意,在这种情况下,如果你使用的
System.console()不是, 那 将返回
null。所以:
System.out.printf("Foo%n"); // No problem. Goes nowhere.System.console().printf("Foo%n"); // Would throw a NullPointerException.


