最新の安定バージョンについては、Spring Shell 4.0.2 を使用してください! |
実行
このセクションでは、インタラクティブモードで動作するように Spring Shell をセットアップする方法について説明します。
インタラクションモード
バージョン 2.1.x では、対話モードと非対話モードを区別する組み込みサポートが導入されました。これにより、カスタマイズを必要とせずにシェルを単純なコマンドラインツールとして簡単に使用できます。
現在、コマンドラインからシェルを起動または実行するときにコマンドラインオプションが渡されると、対話モードに入ります。これは、シェルアプリケーションがネイティブサポートでコンパイルされている場合に特にうまく機能します。
一部のコマンドは、対話モードで実行したり、(逆に) 非対話モードで実行したりすると、有用な意味を持たない場合があります。例: 組み込みの exit コマンドは、対話モードを終了するために使用されるため、非対話モードでは意味がありません。
@ShellMethod アノテーションには interactionMode と呼ばれるフィールドがあり、特定のコマンドがいつ使用可能になるかをシェルに通知するために使用できます。
シェルランナー
ShellApplicationRunner は、Boot の ApplicationArguments が渡されるメインインターフェースであり、そのデフォルトの実装によって、どの ShellRunner を使用するかが選択されます。ShellApplicationRunner は 1 つしか存在できませんが、何らかの理由で必要に応じて再定義できます。
InteractiveShellRunner、NonInteractiveShellRunner、ScriptShellRunner という名前の 3 つの ShellRunner 実装が存在します。これらはデフォルトで有効になっていますが、必要に応じてそれぞれプロパティ spring.shell.interactive.enabled、spring.shell.noninteractive.enabled、spring.shell.script.enabled を使用して無効にすることができます。