web-dev-qa-db-ja.com

コマンドラインアプリケーションの構築を容易にする優れたJavaライブラリはありますか?

Javaで簡単なコマンドラインアプリケーションを作成する必要があります。コマンドの解析を処理し、フラグやオプション/必須パラメーターなどを処理するライブラリを使用すると便利です...

[〜#〜] update [〜#〜]

TAB補完が組み込まれているものは特に素晴らしいでしょう。

40
carrier

コマンドライン引数の解析に Apache Commons CLIライブラリ を使用しました。使い方はかなり簡単で、 かなり良いドキュメント があります。

どのライブラリを選択するかは、おそらくどのスタイルのオプション( "--gnu-style"または "-javac-style")を選択するかによって決まります。

26
Kevin ORourke

JLine 役に立ちました。

JLineは、コンソール入力を処理するためのJavaライブラリです。機能的にはBSDeditlineおよびGNU readlineに似ています。現代のreadline/editline機能に精通している人シェル(bashやtcshなど)は、JLineのコマンド編集機能のほとんどに精通していることがわかります。

また、タブ補完を features にリストします。

20
Michael Myers

インタラクティブなシェルアプリケーションの開発を容易にするライブラリを探しているので、 Cliche をお勧めします。

8
Stefan Asseg

arg4j を見てください。

6
Pedro Henriques

私たちの会社では、注釈付きのJavaインターフェイス定義を使用してコマンドラインインターフェイスを宣言型で記述する JewelCli を使用しています。

軽くて使いやすいのでお勧めです。

4
Julien Hoarau

Java Simple Argument Parser を広範囲に使用しました。あらゆる種類のオプションタイプを処理し、適切に設計されたライブラリ(カスタムパーサーを作成するオプションを含む)を備え、JavaDocsと online の両方で優れたドキュメントを提供します。

タブ補完に対するあなたの要望は、コマンドライン解析ライブラリではなく、シェルによって処理されると思います。

3
Brett Daniel

-jopt-simple も一見の価値があります。

'POSIX getopt()およびGNU getopt_long())のコマンドラインオプション構文を尊重しようとします。'コミュニティの牽引力があるようです。特に、コマンドライン解析ライブラリが選択されています。 OpenJDK

また、Brettが述べたように、タブ補完は通常、シェルによって提供されます。必要な機能を提供するシェル関数を記述します。

p.s.回答が重複して申し訳ありませんが、この質問は コマンドラインパラメータを解析するためのJavaライブラリ? とほとんど同じです。

1
Ivar

コマンドライン解析用のGNU getoptライブラリ のJavaポートがあります。コマンド編集とTAB補完用にJLineがあります(mmyersがすでに推奨しているように)。

1
eneset

[〜#〜] jsap [〜#〜] を使用しました。私はそれが安定していて十分に文書化されていることを発見しました。

「組み込みのTAB補完」の意味がよくわかりません。詳細を教えてください。

0
Parag

私はいくつかのライブラリを試し、最終的に argparse4j を使用しました。それは本当に素晴らしいJava Pythonのポート argparse

0
CrouZ