Comment spécifier plusieurs options à l'aide de apache commons cli?

Je veux quelque chose comme:

java programName  -jobs1 -C 10 -W 20
java programName  -job2
java programName  -job3

Avec le contenu:

Option o1 = new Option("job2", "some desc");
Option o2 = new Option("job3" , "(some desc")

Option o3 = OptionBuilder.hasArgs(2).withArgName( "W" ).withArgName("C").withDescription(  "Some desc" ).create("job1")
Option o4 = new Option("help");

Options os = new Options().addOption(o1).addOption(o2).addOption(o3).addOption(o4).

HelpFormatter formatter = new HelpFormatter();
formatter.printHelp( "ProgramName", options );

...où la sortie est:

Usage ProgramName
 -job1 <c>  Some Desc
 -job2      Some desc
 -job3      Some desc
 -help      Print this message

- Je attendre pour -job1 elle doit imprimer -job1 -C <> -W <>

Suis-je raté quelque chose? Il ne fonctionne pas avec plus d'un argument. Par ailleurs, j'utilise commons-cli 1.2.

Je pense que vous avez un malentendu hasArgs() et withArgName().
Il semble que cela ne peut être fait en utilisant apache commons-cli - apache bibliothèque qui fait très peu. Je m'attendais à plus. Je vais essayer de voir si je peux ajouter plus de fonctionnalités...

OriginalL'auteur Haneef | 2012-02-16