Javaで簡単なコマンドラインアプリケーションを作成する必要があります。コマンドの解析を処理し、フラグやオプション/必須パラメーターなどを処理するライブラリを使用すると便利です...
[〜#〜] update [〜#〜]
TAB補完が組み込まれているものは特に素晴らしいでしょう。
コマンドライン引数の解析に Apache Commons CLIライブラリ を使用しました。使い方はかなり簡単で、 かなり良いドキュメント があります。
どのライブラリを選択するかは、おそらくどのスタイルのオプション( "--gnu-style"または "-javac-style")を選択するかによって決まります。
インタラクティブなシェルアプリケーションの開発を容易にするライブラリを探しているので、 Cliche をお勧めします。
arg4j を見てください。
私たちの会社では、注釈付きのJavaインターフェイス定義を使用してコマンドラインインターフェイスを宣言型で記述する JewelCli を使用しています。
軽くて使いやすいのでお勧めです。
Java Simple Argument Parser を広範囲に使用しました。あらゆる種類のオプションタイプを処理し、適切に設計されたライブラリ(カスタムパーサーを作成するオプションを含む)を備え、JavaDocsと online の両方で優れたドキュメントを提供します。
タブ補完に対するあなたの要望は、コマンドライン解析ライブラリではなく、シェルによって処理されると思います。
-jopt-simple も一見の価値があります。
'POSIX getopt()およびGNU getopt_long())のコマンドラインオプション構文を尊重しようとします。'コミュニティの牽引力があるようです。特に、コマンドライン解析ライブラリが選択されています。 OpenJDK 。
また、Brettが述べたように、タブ補完は通常、シェルによって提供されます。必要な機能を提供するシェル関数を記述します。
p.s.回答が重複して申し訳ありませんが、この質問は コマンドラインパラメータを解析するためのJavaライブラリ? とほとんど同じです。
コマンドライン解析用のGNU getoptライブラリ のJavaポートがあります。コマンド編集とTAB補完用にJLineがあります(mmyersがすでに推奨しているように)。
[〜#〜] jsap [〜#〜] を使用しました。私はそれが安定していて十分に文書化されていることを発見しました。
「組み込みのTAB補完」の意味がよくわかりません。詳細を教えてください。
私はいくつかのライブラリを試し、最終的に argparse4j を使用しました。それは本当に素晴らしいJava Pythonのポート argparse 。