概要 †
- CLI = Command Line Interface
- Javaを実行するときのコマンドライン引数を解釈するためのライブラリです
インストール †
- ダウンロードサイトから、
cli-1.0.zip
をダウンロードします - 展開して出来た、
commons-cli-1.0.jar
をクラスパスに加えます。
CLIの利用方法(サンプルコード) †
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
| - | | | | - | ! | | | | | - | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - | - | | | | ! | - | | | | | ! | | | | | | ! ! | |
サンプルコードの処理手順 †
- コマンド引数の定義
- コマンド引数は Options オブジェクトに格納します
- コマンド引数1項目分の定義情報は Option オブジェクトに格納されます
- Option オブジェクトは、OptionBuilder? によって作成します。OptionBuilder? には以下の設定項目があります。
メソッド 説明 引数例 create(String) オプション文字列を指定します。2文字以上だと上手く動かない t withLongOpt?(String) オプション文字列の別名を指定します time withArgName?(String) オプション名を指定します 時刻 withDescription(String) コマンドの説明を指定します 時刻を指定して下さい isRequired() 必須項目であることを指定します hasArg() 必須のコマンド引数があることを指定します hasArgs() 「-a arg1 arg2 arg3」 のように、必須のコマンド引数が複数あることを指定します(デフォルトはスペース区切り) hasOptionalArg?() 任意のコマンド引数があることを指定します hasOptionalArgs?() 「-o op1 op2 op3」のように、任意のコマンド引数が複数あることを指定します(デフォルトはスペース区切り) withType(Object) コマンド引数をマッピングする型を指定できるはずだが、上手く動かない? ? withValueSeparator?(char) hasArgs()、hasOptionalArgs?()の区切り文字を指定します。デフォルト値はスペース ','
- コマンド引数のチェック
- コマンド引数の解釈
実行結果 †
- 引数無し
> java com.snail.CLIExam usage: com.snail.CLIExam -s ソース -d 結果 [-h] -d,--dest <結果> 結果ファイルを指定します -h,--help このヘルプを表示します -s,--source <ソース> ソースファイルを指定します
- ヘルプ指定
> java com.snail.CLIExam -h usage: com.snail.CLIExam -s ソース -d 結果 [-h] -d,--dest <結果> 結果ファイルを指定します -h,--help このヘルプを表示します -s,--source <ソース> ソースファイルを指定します
- 引数指定
> java com.snail.CLIExam -s src.zip -d dset.zip src.zipからdest.zipへコピーしました
- オプションの別名指定
> java com.snail.CLIExam --source src.zip --dest dset.zip src.zipからdest.zipへコピーしました