【发布时间】:2012-11-01 08:56:34
【问题描述】:
鉴于这段代码,我很困惑为什么它不打印到控制台......
engine.compileTemplate(new PrintWriter(System.err));
System.err.flush();
我在控制台上什么也看不到。 System.out 也有同样的问题。是的,我通过成功打印到文件来验证代码是否有效。
【问题讨论】:
鉴于这段代码,我很困惑为什么它不打印到控制台......
engine.compileTemplate(new PrintWriter(System.err));
System.err.flush();
我在控制台上什么也看不到。 System.out 也有同样的问题。是的,我通过成功打印到文件来验证代码是否有效。
【问题讨论】:
尝试使用constructor with autoflush。您正在刷新 System.err,而不是 PrintWriter。
【讨论】:
这段代码在什么上下文中执行? 确实需要更多信息来确定发生了什么。
您的代码是否在您正在调试的插件中运行? 如果是这样,那么使用“打印到控制台” - 您是指与您的插件相同的 Eclipse 实例的控制台吗?
为此,您需要执行以下操作:
MessageConsole console = new MessageConsole("My Console", null);
console.activate();
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{ console });
MessageConsoleStream consoleStream = console.newMessageStream();
consoleStream.println("Hello, world!");
否则,它会转到启动 Eclipse 的控制台。
在此处阅读更多信息:http://wiki.eclipse.org/FAQ_How_do_I_write_to_the_console_from_a_plug-in%3F
【讨论】: