インタラクティブなシェルを作成できるJavaのライブラリを探しています。検索を行ったのですが、あまり見つかりませんでした。見つけたもののほとんどは、コマンド引数の解析をアプリケーションに追加しましたが、あまり役に立ちません。
私が見つけた最高のリードは Cliche というライブラリで、これはまさに私が必要としていることを実行します。問題は単純すぎることです。もっとカスタマイズできるものを探しています。
もう少し進んだものに出くわした人はいますか?
考慮すべきオプション:
Spring Shell を使用していますが、非常にうまく機能しました。その機能のいくつか:
カスタムコマンドを提供するためのシンプルなアノテーション駆動型プログラミングモデル
Springのクラスパススキャン機能を基礎として使用する
コマンドプラグイン戦略とコマンド開発
Roo Shell機能の継承、特にタブ補完、色付け、およびスクリプト実行。
コマンドプロンプト、バナー、シェル履歴ファイル名のカスタマイズ。
この質問JLine によると良い試みになる可能性があります。
- コマンド履歴-以前に入力された行は、呼び出して編集することができ、使用できるように永続化することができます
プログラムのセッション全体。- 行編集-JLineは、現在のコマンドラインの完全な編集を可能にし、emacsとviキーマッピングの両方のサポートを含め、GNU Readlineの動作を可能な限り模倣しようとします。
- 補完-JLineは、コマンドラインタブ補完を実装するためのプラグ可能なメカニズムを提供します(もちろん、補完は任意のキーにバインドできます)。
- カスタムキーバインディング-キーは特定のアクションを実行するために任意に再マップでき、JLineは既存のreadline.inputrcファイルに設定されているマッピングを尊重しようとします。
- 文字マスキング-入力は、視覚的なフィードバックなしでユーザーから収集される場合があります。これは、パスワードの入力を求めるのに役立ちます。
- 99.99%Java-JLineの大部分はすべてJavaであり、Jansiプロジェクトによって提供されたネイティブコードのほんの一部を使用して、
Windowsをサポートします。