Per l'analisi della riga di comando in Java, in genere utilizzo Apache Commons CLI. Qualcuno può raccomandare librerie alternative?Analisi riga di comando: alternative CLI per i comuni?
risposta
JCommander suona come un approccio molto semplice e interessante per l'analisi argomenti della riga di comando con annotazioni (dal creatore di TestNG):
di annotare i campi con le descrizioni delle opzioni:
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;
}
e poi chiedete semplicemente JCommander analizzare:
JCommanderTest jct = new JCommanderTest();
String[] argv = { "-log", "2", "-groups", "unit", "a", "b", "c" };
new JCommander(jct, argv);
Assert.assertEquals(jct.verbose.intValue(), 2);
Ecco come è stato introdotto Cederic: http://beust.com/weblog/2010/07/13/announcing-jcommander-1-0/ – Jan
Impossibile trovare un'API per stampare la guida. Vedi domanda correlata: http://stackoverflow.com/questions/30046171/how-to-print-help-using-jcommander –
JCommander è ora qui http://jcommander.org/ – xamde
Questa risposta è utile? How to parse command line arguments in Java?
Apprezzo questi collegamenti a quadri alternativi e devo ammettere che non ho notato questa domanda molto simile.Tuttavia, speravo di raggiungere qualcuno che * avesse provato * diverse alternative e che fosse in grado * di * raccomandare * una di queste. – Jan
Nel rispetto, questo è il tipo di articolo che stavo cercando: http://furiouspurpose.blogspot.com/2008/07/command-line-parsing-libraries-for-java.html Grazie! – Jan
vedo alcuni elencati qui command line interpreters
A java-source.net si possono trovare almeno 4 altre biblioteche alternative per Apache Commons CLI.
getopt-1.0.11 è un semplice facile da usare biblioteca leggero che ho usato una volta per arguements riga di comando parsing
io uso e come
http://martiansoftware.com/jsap/
sua open source, semplice. Non è attivo, penso che l'autore abbia altri ferri nel fuoco.
Io personalmente uso args4J di kohsuke a https://github.com/kohsuke/args4j
È anche la mia preferenza personale. args4j è più flessibile di JCommander. I principi sono gli stessi, ma è più intuitivo da usare e differenziare tra argomenti e opzioni. –
Si potrebbe provare commandline (bel nome anonimo, lo so)
Esso utilizza le annotazioni per mappare gli argomenti della riga di comando in un modello a oggetti. Un paio di analisi delle modalità e un insieme di annotazioni che possono essere combinate in vari modi consente di creare regole di opzione della riga di comando piuttosto avanzate.
Mentre consente di mappare gli argomenti della riga di comando direttamente sul modello di dominio, è consigliabile prendere in considerazione l'utilizzo di classi separate per gli argomenti della riga di comando.
- 1. Analisi LPTSTR * argomenti della riga di comando con boost :: program_options
- 2. Automatizzare i comandi Cygwin riga di comando di Windows (e in ultima analisi, in MsBuild)
- 3. Riga di comando app lucene
- 4. Usi comuni per i puntatori?
- 5. Daemon basato su riga di comando per Java Mission Control? Alternative?
- 6. Java comuni-CLI, opzioni con elenco di valori possibili
- 7. Istruzione riga di comando parsing
- 8. Parsing input da riga di comando per i numeri
- 9. C# Analisi riga di comando dei percorsi citati ed eliminazione dei caratteri di escape
- 10. Come modificare l'identità di login utente Firebase dalla riga di comando (CLI)?
- 11. parser da riga di comando per Qt4
- 12. Riga di comando per modificare tnsnames.ora
- 13. Compilatore da riga di comando per XTend
- 14. funzione di R per analizzare argomenti della riga di comando
- 15. Avvio dell'emulazione Chrome dalla riga di comando
- 16. Strumento riga di comando PHPUnit Non funziona
- 17. Esegui gli strumenti di analisi statica Intellij dalla riga di comando
- 18. Esegui comando vim da riga di comando
- 19. sostituire stringhe nella riga di comando zsh
- 20. "Errore durante l'esecuzione Grails CLI: null" quando si esegue graal riga di comando 3.0
- 21. Rimuovere i pacchetti di Android SDK dalla riga di comando
- 22. I thread di supporto della riga di comando lua?
- 23. Refactoring Ember-Cli per utilizzare i pod
- 24. Esecuzione di tutti i set di regole PMD dalla riga di comando
- 25. Installazione di IIS8 con i parametri della riga di comando
- 26. Come rendere i prefissi comuni per la parola regex?
- 27. Elenca solo le directory padre comuni per i file
- 28. Come sovrascrivere i valori di protractor.conf.js dalla riga di comando?
- 29. Aggiorna i progetti di eclissi tramite la riga di comando
- 30. Alternative di imaging Python
Se hai intenzione di chiedere un'alternativa a quello che usi normalmente, sarebbe utile se dovessi dire quello che stai cercando che la tua opzione normale non fornisce. –
Per essere onesti, non avevo in mente una particolare caratteristica mancante. È vero, Apache Commons CLI è "provato e testato", ma è anche piuttosto dettagliato. Mi stavo chiedendo se qualcuno ha introdotto nuove idee in questo settore. In questa categoria, penso che darò un'occhiata più da vicino al suggerimento di JCommander qui sotto. – Jan
possibile duplicato di [C'è un buon parser di argomenti da riga di comando per Java?] (Http://stackoverflow.com/questions/367706/is-there-a-good-command-line-argument-parser-for-java) –