当需要将某些内容写入控制台时,您可以随时
使用 JDK,然后直接进入 JDK 自己的流。
其他推荐的方法是使用 JLine 并从那里获取 writer 实例。System.out
Terminal
如果使用目标端点,即预期的使用者
要返回任何给定的内容,都包含对 WRITER 的引用,并且可以从那里访问 WRITER。CommandContext
Terminal
CommandRegistration.builder()
.command("example")
.withTarget()
.consumer(ctx -> {
ctx.getTerminal().writer().println("hi");
ctx.getTerminal().writer().flush();
})
.and()
.build();
如果使用,您可以访问并从那里获取。@Command
CommandContext
Terminal
@Command
public void example(CommandContext ctx) {
ctx.getTerminal().writer().println("hi");
ctx.getTerminal().writer().flush();
}
可以自动接线以访问其编写器。Terminal
@Autowired
Terminal terminal;
@ShellMethod
public void example() {
terminal.writer().println("hi");
terminal.writer().flush();
}