此版本仍在开发中,尚未被认为是稳定版。请使用最新稳定版 Spring Shell 4.0.1spring-doc.cadn.net.cn

执行

此部分描述了如何设置一个 Spring Shell 使其在交互模式下工作。spring-doc.cadn.net.cn

交互模式

Version 2.1.x 引入了内置支持,以区分交互模式和非交互模式。这使得更容易将外壳作为简单的命令行工具使用,而不需要进行任何定制。spring-doc.cadn.net.cn

目前,如果从命令行启动或运行一个 Shell 时传入任何命令行选项,则会进入交互模式。这在使用 本地支持 编译的 Shell 应用程序中尤其有效。spring-doc.cadn.net.cn

某些命令在交互模式下运行可能没有实际意义,或者(相反地)在非交互模式下也没有意义。例如,内置的exit命令在非交互模式下是没有意义的,因为它用于退出交互模式。spring-doc.cadn.net.cn

Shell Runners

ShellRunner 是运行 shell 的主要接口。每个应用上下文中只能有一个 ShellRunnerspring-doc.cadn.net.cn

三个 ShellRunner 实现存在,分别名为 SystemShellRunnerJLineShellRunnerNonInteractiveShellRunner。默认情况下,使用的是交互式 SystemShellRunnerspring-doc.cadn.net.cn

要启用非交互模式,可以将spring.shell.interactive.enabled 属性设置为false。这将切换ShellRunner实现到NonInteractiveShellRunnerspring-doc.cadn.net.cn

调试模式

Spring Shell 提供了一种调试模式,可以通过将 spring.shell.debug.enabled 属性设置为 true 来启用。当启用了此模式时,它会在命令执行过程中通过打印错误的堆栈跟踪信息来提供额外的调试信息,这对于故障排除和开发具有帮助。spring-doc.cadn.net.cn