执行
本节介绍如何设置Spring Shell以实现交互模式。
交互模式
2.1.x 版本引入了内置支持以区分交互式 以及非交互模式。这使得使用壳体作为 简单的命令行工具,无需自定义。
目前,如果启动时传递任何命令行选项,就会进入交互模式 或者从命令行运行 shell。这在壳层应用时尤其有效 是通过原生支持编译的。
有些命令在交互模式下运行时可能没有任何有用的含义
或者(反之)非交互模式。例如,内置的退出指挥部会
在非交互模式下没有意义,因为它用于退出交互模式。
这@ShellMethod注释有一个字段称为交互模式你可以用来告知
关于某个特定命令何时可用。
壳跑者
ShellApplicationRunner是 Boot 的主接口应用参数通过
其默认实现会做出选择,壳跑者被使用。可以有
只有一个ShellApplicationRunner但如果有需要,也可以重新定义。
三壳跑者存在实现,名为互动壳跑者,非交互式壳跑者和脚本壳运行者.只非交互式壳跑者默认启用。启用状态可以通过属性进行修改spring.shell.interactive.enabled,spring.shell.noninteractive.enabled和spring.shell.script.enabled具体来说。
例如,启用交互式和脚本运行器使用以下属性:
spring:
shell:
interactive:
enabled: true
script:
enabled: true
版本至以下3.2.x默认启用所有运行器,从以下开始3.3.x只非交互式壳跑者默认启用。 |
起点3.3.x一个壳跑者接口采用了一种新方法:
default boolean run(String[] args) throws Exception {
return false;
}
这将是未来的主要API,其他现有方法也会被淘汰应用参数已被弃用,未来版本将被移除。 |