このコードを考えると、なぜコンソールに出力されないのか、私は困惑しています。
engine.compileTemplate(new PrintWriter(System.err));
System.err.flush();
コンソールには何も表示されません。System.outでも同じ問題が発生します。そして、はい、ファイルに正常に出力することでコードが機能することを確認しました。
autoflushでコンストラクターを使用してみてください。PrintWriterではなくSystem.errをフラッシュしています。
このコードはどのようなコンテキストで実行されますか?何が起こっているのかを判断するには、もっと多くの情報が本当に必要です。
デバッグしているプラグインでコードを実行していますか?もしそうなら、「コンソールに出力」とは-プラグインと同じ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