19

インタラクティブなシェルを作成できるJava用のライブラリを探しています。私はいくつかの検索を行いましたが、あまり多くは見つかりませんでした。私が見つけたもののほとんどは、コマンド引数の解析をアプリケーションに追加するためのライブラリですが、これはあまり役に立ちません。

私が見つけた最高のリードは、私が必要としていることを正確に実行するClicheというライブラリです。問題は単純すぎることです。もっとカスタマイズできるものを探しています。

もう少し進んだものに出くわした人はいますか?

4

3 に答える 3

10

考慮すべきオプション:

  • javacurses / JCurses - コンソール ベースのウィンドウ ツールキットで、UNIX の curses 設計に似ています。
  • Swing GUI ウィンドウでコンソール スタイルのビュー/出力が必要な場合は、swing-consoleが適している可能性があります。これを使用して、対話型シェルを構築できます。
  • JLine - GNU readline に似たコンソール入力用のライブラリ
  • Clojure などのいくつかの JVM 言語は、インタラクティブなシェルとして使用できるインタラクティブなREPL 環境を提供します。
于 2012-12-29T10:14:42.383 に答える
7

Spring shellを使用していますが、非常にうまく機能しました。その機能のいくつか:

  • カスタム コマンドを提供するための、シンプルなアノテーション駆動型プログラミング モデル


  • コマンド プラグイン戦略とコマンド開発の基礎としての Spring のクラスパス スキャン機能の使用

  • Roo Shell 機能の継承、特にタブ補完、色付け、スクリプト実行。

  • コマンド プロンプト、バナー、シェル履歴ファイル名のカスタマイズ。

于 2014-01-22T19:21:23.250 に答える
5

この質問 によると、 JLineは良い試みです。

JLineの特徴

  • コマンド履歴 - 以前に入力された行は、呼び出して編集することができ
    、プログラムのセッション全体で使用できるように保持できます。
  • ライン編集 - JLine では、現在のコマンド ラインを完全に編集でき、emacs と vi の両方のキー マッピングのサポートを含め、GNU Readline の動作を可能な限り模倣しようとします。
  • 補完 - JLine は、コマンドラインのタブ補完を実装するためのプラグ可能なメカニズムを提供します (もちろん、補完は任意のキーにバインドできます)。
  • カスタム キー バインディング - 特定のアクションを実行するためにキーを任意に再マッピングできます。JLine は、既存の readline .inputrc ファイルに設定されているマッピングを尊重しようとします。
  • 文字のマスキング - 視覚的なフィードバックなしでユーザーから入力を収集できます。これは、パスワードを要求するのに役立ちます。

  • 99.99% Java - JLine の大部分はすべて Java であり、 Windows をサポートするために Jansi プロジェクトによって提供されるネイティブ コードを少しだけ使用します。
于 2012-12-29T10:10:41.173 に答える