此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.0Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.0Spring中文文档

本节介绍如何将 Spring Shell 设置为在交互模式下工作。Spring中文文档

交互模式

版本 2.1.x 引入了内置支持,以区分交互式 和非交互模式。这样可以更轻松地将 shell 用作 简单的命令行工具,无需自定义。Spring中文文档

目前,如果在启动时传递任何命令行选项,则进入交互模式 或从命令行运行 shell。这在 shell 应用程序时尤其有效 是使用本机支持编译的。Spring中文文档

某些命令在交互模式下运行时可能没有任何有用的含义 或(相反)在非交互模式下。例如,内置命令将 在非交互模式下没有意义,因为它是用来退出交互模式的。exitSpring中文文档

批注有一个名为的字段,您可以使用该字段来通知 shell 关于特定命令何时可用。@ShellMethodinteractionModeSpring中文文档

壳牌流道

ShellApplicationRunner是传递 Boot 的主接口 它的默认实现会做出一个选择。可以有 只有一个,但如果出于某种原因需要,可以重新定义它。ApplicationArgumentsShellRunnerShellApplicationRunnerSpring中文文档

存在三个实现,分别命名为 和 。默认情况下,Only 处于启用状态。可以使用属性 和 respecively 修改启用状态。ShellRunnerInteractiveShellRunnerNonInteractiveShellRunnerScriptShellRunnerNonInteractiveShellRunnerspring.shell.interactive.enabledspring.shell.noninteractive.enabledspring.shell.script.enabledSpring中文文档

例如,启用交互式和脚本运行器使用属性:Spring中文文档

spring:
  shell:
    interactive:
      enabled: true
    script:
      enabled: true
默认情况下启用了所有运行器的版本,默认情况下启用从 only 开始。3.2.x3.3.xNonInteractiveShellRunner

从接口开始有一种新的方法:3.3.xShellRunnerSpring中文文档

default boolean run(String[] args) throws Exception {
  return false;
}
这将是今后的主要 api,其他现有引导方法已被弃用,将来将被删除。ApplicationArguments
默认情况下启用了所有运行器的版本,默认情况下启用从 only 开始。3.2.x3.3.xNonInteractiveShellRunner
这将是今后的主要 api,其他现有引导方法已被弃用,将来将被删除。ApplicationArguments