Do parsowania linii poleceń w Javie używam zazwyczaj Apache Commons CLI. Czy ktoś może polecić alternatywne biblioteki?Analiza wiersza polecenia: Alternatywne rozwiązania CLI?
Odpowiedz
JCommander brzmi bardzo proste i ciekawe podejście do analizowania argumentów wiersza poleceń z adnotacjami (od twórcy TestNG):
Ty opisywanie pola z opisami opcji:
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;
}
a potem po prostu poprosić JCommander do analizowania:
JCommanderTest jct = new JCommanderTest();
String[] argv = { "-log", "2", "-groups", "unit", "a", "b", "c" };
new JCommander(jct, argv);
Assert.assertEquals(jct.verbose.intValue(), 2);
Tak przedstawił go Cederic: http://beust.com/weblog/2010/07/13/announcing-jcommander-1-0/ – Jan
Nie można znaleźć interfejsu API do wydrukowania pomocy. Zobacz powiązane pytanie: http://stackoverflow.com/questions/30046171/how-to-print-help-using-jcommander –
JCommander jest teraz tutaj http://jcommander.org/ – xamde
Czy ta odpowiedź pomaga? How to parse command line arguments in Java?
Doceniam te linki do alternatywnych ram i muszę przyznać, że nie zauważyłem tego bardzo podobnego pytania.Miałem jednak nadzieję dotrzeć do kogoś, kto * faktycznie wypróbował * różne alternatywy i kto jest w stanie * polecić * jedną z nich. – Jan
W odniesieniu do tego rodzaju artykułu, którego szukałem: http://furiouspurpose.blogspot.com/2008/07/command-line-parsing-libraries-for-java.html Dziękujemy! – Jan
widzę kilka wymienionych tutaj command line interpreters
Na java-source.net można znaleźć co najmniej 4 innych alternatywnych bibliotek Apache Commons CLI.
getopt-1.0.11 jest prosty łatwy w użyciu lekkiego biblioteki użyłem raz arguements wiersza polecenia parsowania
używam i jak
http://martiansoftware.com/jsap/
jej open source, prosty. Jest nieaktywny, myślę, że autor ma w ogniu inne żelazka.
Osobiście korzystam args4J kohsuke pod adresem https://github.com/kohsuke/args4j
To także moje osobiste preferencje. args4j jest bardziej elastyczny niż JCommander. Zasady są takie same, ale jest bardziej intuicyjny w użyciu i rozróżniania między argumentami i opcjami. –
Można spróbować commandline (nazwa dość anonimowy, wiem)
wykorzystuje adnotacje do map argumenty wiersza polecenia do modelu obiektowego. Kilka trybów analizowania i zestaw adnotacji, które można łączyć na różne sposoby, pozwala utworzyć całkiem zaawansowane reguły opcji wiersza poleceń.
Chociaż pozwala mapować argumenty wiersza poleceń bezpośrednio na model domeny, , należy rozważyć użycie oddzielnych klas dla argumentów wiersza poleceń.
- 1. iPhone SDK w systemie Windows (alternatywne rozwiązania)
- 2. Rozproszona analiza rozwiązania w programie Resharper 4.5?
- 3. Polecenia nadawcze z wiersza polecenia
- 4. Pełne indeksowanie wiersza polecenia?
- 5. zaczynarki - argumenty wiersza polecenia
- 6. Ostrzenie z wiersza polecenia
- 7. Narzędzie różnicowe wiersza polecenia
- 8. Parametry wiersza polecenia Pythona
- 9. sqlite z wiersza polecenia - nie rozpoznano polecenia
- 10. Uruchamianie wiersza polecenia i polecenia z VBS
- 11. Zmienianie wiersza polecenia na jqgrid?
- 12. Google OAuth2 przykład wiersza polecenia
- 13. Ustawienia kolorów wiersza polecenia Vim
- 14. zapisywanie wiersza polecenia do pliku
- 15. Parametry URL wiersza polecenia CURL
- 16. Analizator wiersza polecenia dla Qt4
- 17. Odświeżenie zaćmienia z wiersza polecenia
- 18. Podział wiersza polecenia w Javie
- 19. Jak określić alternatywne formaty odpowiedzi za pomocą polecenia swagger/OpenAPI?
- 20. Uruchamianie wszystkich zestawów reguł PMD z wiersza polecenia
- 21. Jak mogę wykonywać polecenia zewnętrzne z wiersza polecenia gdb?
- 22. Błąd wiersza polecenia D8016: Opcje wiersza polecenia "/ O2" i "/ RTC1" są niekompatybilne
- 23. Visual Studio: błąd wiersza polecenia D8016: opcje wiersza polecenia '/ Ox' i '/ RTC' są niekompatybilne
- 24. Zastępowanie szkieletu docelowego z wiersza polecenia
- 25. Argumenty wiersza polecenia w dokowaniu-komponowaniu
- 26. wyczyść pamięć podręczną przeglądarki, używając wiersza polecenia
- 27. Ekwiwalencie wiersza polecenia pakietu findake cmake?
- 28. Replikowanie wiersza polecenia przy plikach wsadowych
- 29. Uruchamianie R z wiersza polecenia systemu Windows
- 30. Uruchom projekt Eclipse z wiersza polecenia
Jeśli masz zamiar poprosić o alternatywę dla tego, z czego zwykle korzystasz, dobrze byłoby powiedzieć, czego szukasz, czego nie oferuje standardowa opcja. –
Szczerze mówiąc, nie brałem pod uwagę konkretnej brakującej funkcji. To prawda, że Apache Commons CLI jest "wypróbowany i przetestowany", ale jest również dość gadatliwy. Zastanawiałem się tylko, czy ktoś wprowadził jakieś nowe pomysły w tej dziedzinie. W tej kategorii, myślę, że przyjrzę się bliżej sugestii JCommander poniżej. – Jan
możliwy duplikat [Czy istnieje dobry analizator argumentów linii poleceń dla Java?] (Http://stackoverflow.com/questions/367706/is-there-a-good-command-line-argument-parser-for-java) –