読者です 読者をやめる 読者になる 読者になる

commons-cliでコマンドライン処理

dosやunixコマンドラインオプションのように、Javaの起動引数にも同じようにオプションで値を渡したいというケースがあると思います。そのような場合、引数配列を処理する実装が必要ですが、堅牢な実装をするのにはそれなりに手間とコストがかかるわけです。
そんなときに役に立つのがcommons-cliです。cliは(command line interface)の略のようです。

cliの代表的な使用例は何といってもMavenです。Mavenでは複雑なコマンドラインをorg.apache.maven.cli.MavenCliというクラスで処理しています。MavenCliはmainメソッドを持っていて、commons-cliを使用して処理しています。渡された起動引数をMavenの全てのgoalの実行はこのクラスから始まります。
用途はやはりJavaでのバッチ処理でしょう。cliによってコマンドラインを処理できるようにし、hudson等のCIツールでコマンドラインオプションを指定してバッチを起動!という運用もしやすくなるでしょう。