3

コマンドライン引数を解析するためにapachecommons.cliライブラリを使用しています。デフォルトの解析動作は、スペースに基づいて引数を解析することです。antを使用してJavaプログラムに引数を渡しますが、antはわずかに異なる構文を使用しており=、スペースの代わりに使用しています。= スペースではなくベースで解析する解析の動作を変更するにはどうすればよい ですか?私の構文解析は現在次のようになっています:

    Options options = new Options();
    options.addOption("Dkey", true, "some parameter");
    CommandLineParser parser = new PosixParser();
    CommandLine cmd = parser.parse(options, args);
4

1 に答える 1

4

使用例のページ、特にAntの例をご覧ください。

を使用して、 2つの引数を持つOptionBuilderオプションを作成できます。D

あなたの場合、そのページからの適応例は次のようになります。

Option property  = OptionBuilder.withArgName( "key=value" )
                            .hasArgs(2)
                            .withValueSeparator()
                            .withDescription( "use value for given property" )
                            .create( "D" );

関連するJavaDocと別の例を次に示します。http://commons.apache.org/cli/api-1.2/org/apache/commons/cli/OptionBuilder.html#withValueSeparator%28%29

Option opt = OptionBuilder.withValueSeparator().create('D');

CommandLine line = parser.parse(args);
String propertyName = opt.getValue(0);
String propertyValue = opt.getValue(1);   
于 2012-07-12T12:14:47.183 に答える