我在eclipse中开发了一个插件,这个插件应该叫 ant task sshexec
。问题是如何在 Eclipse 控制台中打印远程消息?
我的代码如下:
Project p = new Project();
MessageConsole console = new MessageConsole("building", null);
IConsoleManager manager = (IConsoleManager) ConsolePlugin.getDefault().getConsoleManager();
manager.addConsoles(new IConsole[] { console });
manager.showConsoleView(console);
MessageConsoleStream cs = console.newMessageStream();
cs.setColor(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
PrintStream ps = new PrintStream(cs);
final DefaultLogger consoleLogger = new DefaultLogger();
consoleLogger.setErrorPrintStream(ps);
consoleLogger.setOutputPrintStream(ps);
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
p.init();
p.addBuildListener(consoleLogger);
ProjectHelper helper = ProjectHelper.getProjectHelper();
helper.parse(p, buildFile);
p.executeTarget(p.getDefaultTarget());
执行 sshexec 目标进行编译时,我总是得到如下输出消息
[sshexec] cd ...; ls ...; ....
它只打印我写的命令,但远程机器的编译消息无法在控制台打印。并且一旦在编译过程中出现错误,它仍然成功返回构建。
如何在控制台中打印远程消息并获得错误结果?