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
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...
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
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas avoir contextuelle arguments. Vous pouvez avoir les arguments: tâche1, job2, job3, C & W, mais on ne peut pas dire (par le biais de la bibliothèque) que C & W ne sont valables que pour tâche1.
Si tâche1/2/3 sont mutuellement exclusifs, de créer un groupe d'options. Ensuite, dans le code, assurez-vous que C & W sont uniquement donnés à tâche1.
Qui produit la sortie suivante:
job1
n'est même pas de la compilation, je suis uing maven avec la version 1.2 de la dépendance, comment avez-vous fait ce travail?Quelle est l'erreur que vous voyez?
cochez cette stackoverflow.com/questions/12466955/...
vous êtes échantillon ne fonctionne pas. est-il possible de définir dans le même temps, un groupe d'options et une option pour les Options ?
J'ai ajouté les importations, la structure de classe et le bloc try/catch.
OriginalL'auteur Joe Casadonte