Commons-cli-quick-guide
Apache Commons CLI-概要
Apache Commons CLIは、Java APIから派生したApache Commonsのコンポーネントであり、プログラムに渡されたコマンドライン引数/オプションを解析するAPIを提供します。 このAPIは、利用可能なオプションに関連するヘルプを印刷することもできます。
コマンドライン処理は3つのステージで構成されます。
- 定義ステージ
- 解析段階
- 尋問段階
定義ステージ
定義段階では、アプリケーションが使用できるオプションを定義し、それに応じて動作します。 Commons CLIは、OptionオブジェクトのコンテナであるOptionsクラスを提供します。
ここでオプションフラグaを追加しました。2番目のパラメーターとしてのfalseはオプションが必須ではないことを示し、3番目のパラメーターはオプションの説明を示します。
解析段階
解析段階では、パーサーインスタンスを作成した後、コマンドライン引数を使用して渡されたオプションを解析します。
尋問段階
尋問段階では、特定のオプションが存在するかどうかを確認し、それに応じてコマンドを処理します。
Apache Commons CLI-環境のセットアップ
ローカル環境のセットアップ
Javaプログラミング言語用に環境をセットアップする場合は、このセクションで、マシンにJavaをダウンロードしてセットアップする方法を説明します。 環境をセットアップするには、以下の手順に従ってください。
Java SEは、https://java.sun.com/javase/downloads/index_jdk5.jsp [Javaのダウンロード]リンクから無料で入手できます。 そのため、オペレーティングシステムに基づいてバージョンをダウンロードします。
指示に従ってJavaをダウンロードし、*。exe *を実行して、マシンにJavaをインストールします。 マシンにJavaをインストールしたら、正しいインストールディレクトリを指すように環境変数を設定する必要があります-
Windows 2000/XPのパスのセットアップ
_c:\ Program Files \ java \ jdk_ディレクトリにJavaがインストールされていると想定しています-
- 「マイコンピュータ」を右クリックして、「プロパティ」を選択します。
- 「詳細」タブの下の「環境変数」ボタンをクリックします。
- ここで、「Path」変数を変更して、Java実行可能ファイルへのパスも含まれるようにします。 たとえば、パスが現在「C:\ WINDOWS \ SYSTEM32」に設定されている場合、パスを「C:\ WINDOWS \ SYSTEM32; c:\ Program Files \ java \ jdk \ bin」に変更します。
Windows 95/98/MEのパスのセットアップ
_c:\ Program Files \ java \ jdk_ディレクトリにJavaがインストールされていると想定しています-
- 「C:\ autoexec.bat」ファイルを編集し、最後に次の行を追加します-「SET PATH =%PATH%; C:\ Program Files \ java \ jdk \ bin」
Linux、UNIX、Solaris、FreeBSDのパスのセットアップ
環境変数PATHは、Javaバイナリがインストールされている場所を指すように設定する必要があります。 これがうまくいかない場合は、シェルのドキュメントを参照してください。
たとえば、bashをシェルとして使用する場合は、 '。bashrcの最後に次の行を追加します:export PATH =/path/to/java:$ PATH'
人気のあるJavaエディター
Javaプログラムを作成するには、テキストエディターが必要です。 市場には多くの洗練されたIDEがあります。 しかし、今のところ、次のいずれかを検討することができます-
- メモ帳-Windowsマシンでは、メモ帳(このチュートリアルで推奨)、TextPadなどの単純なテキストエディタを使用できます。
- Netbeans -これは、オープンソースで無料のJava IDEであり、https://www.netbeans.org/indexlからダウンロードできます。
- Eclipse -また、eclipseオープンソースコミュニティによって開発されたJava IDEであり、https://www.eclipse.org/からダウンロードできます。
共通CLIアーカイブをダウンロードする
commons-cli-1.4-bin.zipからApache Common CLI jarファイルの最新バージョンをダウンロードします。 このチュートリアルを書いている時点で、_commons-cli-1.4-bin.zip_をダウンロードし、C:\> Apacheフォルダーにコピーしました。
OS | Archive name |
---|---|
Windows | commons-cli-1.4-bin.zip |
Linux | commons-cli-1.4-bin.tar.gz |
Mac | commons-cli-1.4-bin.tar.gz |
Apache共通CLI環境を設定する
OS | Output |
---|---|
Windows | Set the environment variable APACHE_HOME to C:\Apache |
Linux | export APACHE_HOME=/usr/local/Apache |
Mac | export APACHE_HOME=/Library/Apache |
CLASSPATH変数を設定する
共通CLI jarの場所を指すように CLASSPATH 環境変数を設定します。 次のように、さまざまなオペレーティングシステムのApacheフォルダーにcommons-cli-1.4.jarを保存したと仮定します。
OS | Output |
---|---|
Windows | Set the environment variable CLASSPATH to %CLASSPATH%;%APACHE_HOME%\commons-cli-1.4.jar;.; |
Linux | export CLASSPATH=$CLASSPATH:$APACHE_HOME/commons-cli-1.4.jar:. |
Mac | export CLASSPATH=$CLASSPATH:$APACHE_HOME/commons-cli-1.4.jar:. |
Apache Commons CLI-最初のアプリケーション
使用したオプションに基づいて、渡された数値の合計または渡された数値の乗算のいずれかを取得することを目的とした、サンプルコンソールベースのアプリケーションを作成しましょう。
CLITesterという名前のJavaクラスを作成します。
例
出力
-aをオプションと数値として渡しながらファイルを実行し、結果として数値の合計を取得します。
-mをオプションおよび数値として渡しながらファイルを実行し、結果として数値の乗算を取得します。
Apache Commons CLI-オプションのプロパティ
Optionオブジェクトは、コマンドラインプログラムに渡されるOptionを表すために使用されます。 以下は、Optionオブジェクトが持つさまざまなプロパティです。
Sr.No. | Name (Type) & Description |
---|---|
1 |
opt (String) オプションの識別文字列。 |
2 |
longOpt (String) エイリアスおよびよりわかりやすい識別文字列。 |
3 |
description (String) オプションの機能の説明。 |
4 |
required (boolean) オプションをコマンドラインに表示する必要があるかどうかを確認するフラグ。 |
5 |
arg (boolean) オプションが引数を取るかどうかを確認するフラグ。 |
6 |
args (boolean) オプションが複数の引数を取るかどうかをチェックするフラグ。 |
7 |
optionalArg (boolean) オプションの引数がオプションかどうかをチェックするフラグ。 |
8 |
argName (String) 使用法ステートメントの引数値の名前。 |
9 |
valueSeparator (char) 引数文字列を分割するために使用される文字値。 |
10 |
type (Object) 引数のタイプ。 |
11 |
value (String) オプション値。 |
12 |
values (String[]) オプションの値。 |
Apache Commons CLI-ブール値オプション
ブールオプションは、コマンドラインでその存在によって表されます。 たとえば、オプションが存在する場合、その値はtrueであり、そうでない場合はfalseと見なされます。 現在の日付を印刷し、-tフラグが存在する場合は時間も印刷する次の例を考えてください。
例
出力
オプションを渡さずにファイルを実行し、結果を確認します。
オプションとして-tを渡しながらファイルを実行し、結果を確認します。
Apache Commons CLI-引数オプション
引数オプションは、コマンドラインで名前と対応する値で表されます。 たとえば、オプションが存在する場合、ユーザーはその値を渡す必要があります。 次の例を考えてみましょう。ログを何らかのファイルに出力する場合、ユーザーに引数オプションlogFileでログファイルの名前を入力してもらいます。
例
出力
--logFileをオプションとして、ファイルの名前をオプションの値として渡しながらファイルを実行し、結果を確認します。
Apache Commons CLI-プロパティオプション
プロパティオプションは、コマンドラインでその名前と、Javaプロパティファイルに似た構文のような対応するプロパティで表されます。 次の例を考えてみましょう。-DrollNo= 1 -Dclass = VI -Dname = Maheshなどのオプションを渡す場合、各値をプロパティとして処理する必要があります。 実行中の実装ロジックを見てみましょう。
例
出力
オプションをキーと値のペアとして渡しながらファイルを実行し、結果を確認します。
Apache Commons CLI-Posixパーサー
Posixパーサーは、渡された引数のようにPosixを解析するために使用されます。 現在は非推奨であり、DefaultParserに置き換えられています。
例
出力
オプションとして-D -Aを渡しながらファイルを実行し、結果を確認します。
オプションとして—Dを渡しながらファイルを実行し、結果を確認します。
Apache Commons CLI-GNUパーサー
GNUパーサーを使用して、渡された引数のようなgnuを解析します。 現在は非推奨であり、DefaultParserに置き換えられています。
例
出力
オプションとして-p -g -n 10を渡しながらファイルを実行し、結果を確認します。
Apache Commons CLI-使用例
Apache Commons CLIは、コマンドライン引数の使用ガイドを印刷するHelpFormatterクラスを提供します。 例を見てください。
例
出力
ファイルを実行し、結果を確認します。
Apache Commons CLI-ヘルプの例
Apache Commons CLIは、コマンドライン引数に関連するヘルプを印刷するHelpFormatterクラスを提供します。 例を見てください。
例
出力
ファイルを実行し、結果を確認します。