Je sais que cette question a été posée plusieurs fois ici et ailleurs avant que je cherche la réponse. Cependant, il m'interroge encore pourquoi la bibliothèque de l'analyseur de ligne de commande ne fournit pas ce scénario d'utilisation commun, où j'ai un groupe de sous-commandes, chaque sous-commande a son propre ensemble d'arguments obligatoires et facultatifs. Une construction similaire peut être trouvée dans git/svn, bien que dans leur cas, la commande subcommand soit un programme autonome si je ne me trompe pas.Analyseur de ligne de commande et manque de sous-commande et de regroupement?
Pour résumer, ce que je cherche est un moyen facile de:
top_command subcmd_A [ command A's options ....]
top_command subcmd_B [ command B's options ....]
...
Dans le monde de Java, deux bibliothèques souvent cités sont Apache commandes CLI et JSAP. Je ne vois pas l'un ou l'autre d'entre eux en tête - bien que vous puissiez probablement ajuster et personnaliser beaucoup pour s'adapter ... mais le flux de base de la définition d'une option, enregistrer ... puis à la fin, les analyser tous doesn ' Vu que l'on considère le cas avec différentes sous-commandes, la validation et l'analyseur doivent se comporter différemment.
Peut-être la sagesse commune ici est que cela est trop spécifique à l'application et devrait être laissé à l'application elle-même à gérer. Une façon dont je peux penser est de définir une classe BaseCommand, et chaque sous-commande l'étend et s'enregistre ... comme un moyen de le décomposer pour une gestion facile. Si un cadre mature peut le faire, j'apprécierais n'importe quel pointeur ici. Je pourrais me tromper sur ma compréhension de la capacité de l'analyseur actuel, cependant, toute idée est très appréciée.
Oliver
Je ne sais pas comment j'ai raté cette bibliothèque, mais ça a l'air intéressant. THX. – Oliver