Pour l'analyse de ligne de commande en Java, j'utilise généralement Apache Commons CLI. Quelqu'un peut-il recommander des bibliothèques alternatives?Analyse syntaxique en ligne de commande: alternatives CLI Commons?
Répondre
JCommander ressemble à une approche très simple et intéressant de l'analyse syntaxique des arguments de ligne de commande avec annotations (du créateur de TestNG):
Vous annoter des champs avec des descriptions de vos options:
import com.beust.jcommander.Parameter;
public class JCommanderTest {
@Parameter
public List<String> parameters = Lists.newArrayList();
@Parameter(names = { "-log", "-verbose" }, description = "Level of verbosity")
public Integer verbose = 1;
@Parameter(names = "-groups", description = "Comma-separated list of group names to be run")
public String groups;
@Parameter(names = "-debug", description = "Debug mode")
public boolean debug = false;
}
puis vous demandez simplement JCommander à analyser:
JCommanderTest jct = new JCommanderTest();
String[] argv = { "-log", "2", "-groups", "unit", "a", "b", "c" };
new JCommander(jct, argv);
Assert.assertEquals(jct.verbose.intValue(), 2);
Voici comment Cederic l'a présenté: http://beust.com/weblog/2010/07/13/announcing-jcommander-1-0/ – Jan
Impossible de trouver une API pour imprimer l'aide. Voir la question connexe: http://stackoverflow.com/questions/30046171/how-to-print-help-using-jcommander –
JCommander est maintenant ici http://jcommander.org/ – xamde
Cette réponse est utile? How to parse command line arguments in Java?
J'apprécie ces liens vers des cadres alternatifs et je dois admettre que je n'ai pas remarqué cette question très similaire.Cependant, j'espérais atteindre quelqu'un qui * essayait * différentes alternatives et qui pouvait * recommander * l'une d'entre elles. – Jan
Dans le respect, c'est le genre d'article que je cherchais: http://furiouspurpose.blogspot.com/2008/07/command-line-parsing-libraries-for-java.html Merci! – Jan
Je vois quelques énumérés ici command line interpreters
à java-source.net vous pouvez trouver au moins 4 autres bibliothèques alternatives à Apache Commons CLI.
getopt-1.0.11 est un simple facile à utiliser la bibliothèque légère je une fois pour arguements de ligne de commande d'analyse syntaxique
J'utilise et comme
http://martiansoftware.com/jsap/
son open source, simple. Ce n'est pas actif, je pense que l'auteur a d'autres fers dans le feu.
J'utilise personnellement https://github.com/kohsuke/args4j le args4J de kohsuke à
C'est aussi ma préférence personnelle. args4j est plus flexible que JCommander. Les principes sont les mêmes, mais il est plus intuitif d'utiliser et de différencier les arguments et les options. –
Vous pouvez essayer commandline (joli nom anonyme, je sais)
Il utilise des annotations à la carte des arguments de ligne de commande dans un modèle d'objet. Deux modes d'analyse syntaxique et un ensemble d'annotations pouvant être combinées de diverses manières vous permettent de créer des règles d'options de ligne de commande assez avancées.
Bien qu'il vous permette de mapper les arguments de ligne de commande directement sur votre modèle de domaine, vous devez envisager d'utiliser des classes séparées pour les arguments de ligne de commande.
- 1. analyse syntaxique une boucle dans la ligne de commande
- 2. Instructions de ligne de commande analyse
- 3. analyse syntaxique en python
- 4. analyse syntaxique en javascript
- 5. Analyse de ligne de commande
- 6. analyse syntaxique HTML en Java
- 7. méthode de commande LINQ générique - analyse syntaxique une expression
- 8. ANDROID: Analyse syntaxique XML
- 9. XML, LINQ analyse syntaxique
- 10. libxml2 Analyse syntaxique HTML
- 11. analyse syntaxique avec dom4j
- 12. MSBuild 4.0 analyse syntaxique
- 13. Chaîne analyse syntaxique aide
- 14. Analyse syntaxique de l'URL Pythonic
- 15. Json analyse syntaxique F #
- 16. XML Jquery analyse syntaxique
- 17. analyse syntaxique html C#
- 18. XML Jquery analyse syntaxique
- 19. NSDictionary analyse syntaxique howto
- 20. HighRise jQuery analyse syntaxique
- 21. analyse syntaxique Entier
- 22. Java XML analyse syntaxique
- 23. url JavaScript analyse syntaxique
- 24. XML Rss analyse syntaxique
- 25. Analyse des options de ligne de commande en C#
- 26. Analyse syntaxique en langage naturel, exemple pratique
- 27. Analyse syntaxique d'une matrice en C#
- 28. Regex analyse syntaxique en utilisant Nokogiri
- 29. XSLT analyse syntaxique plusieurs lignes
- 30. Analyse syntaxique JSON dans Java
Si vous voulez demander une alternative à ce que vous utilisez normalement, il serait utile de dire ce que vous cherchez que votre option normale ne fournit pas. –
Pour être honnête, je n'avais pas de fonctionnalité manquante particulière à l'esprit. Certes, Apache Commons CLI est «essayé et testé», mais il est également assez verbeux. Je me demandais simplement si quelqu'un a introduit de nouvelles idées dans ce domaine. Dans cette catégorie, je pense que je vais regarder de plus près la suggestion JCommander ci-dessous. – Jan
duplication possible de [Existe-t-il un bon analyseur d'argument de ligne de commande pour Java?] (Http://stackoverflow.com/questions/367706/is-there-a-good-command-line-argument-parser-for-java) –