问题
This question already has an answer here:
- How do I parse command line arguments in Java? 21 answers
What CLI parser for Java is easy to use and more scalable than others?
回答1:
Here are some of the most popular. They are all pretty feature complete, and having used the top two I can recommend them.
Commons CLI
http://commons.apache.org/cli/Java Gems
http://code.google.com/p/javagems/picocli (with colorized usage help and autocomplete)
http://picocli.info/JArgs
http://jargs.sourceforge.net/GetOpt
http://www.urbanophile.com/arenn/hacking/download.html
EDIT: For completeness, here are some others I've come across
JOpt Simple
http://jopt-simple.sourceforge.net/Args4J
https://args4j.dev.java.net/ArgParser
http://people.cs.ubc.ca/~lloyd/java/argparser.htmlNatural CLI
http://naturalcli.sourceforge.net/TE-Code
http://te-code.sourceforge.net/JSAP
http://www.martiansoftware.com/jsap/CLAJR
http://clajr.sourceforge.net/CmdLn
http://ostermiller.org/utils/CmdLn.htmlJewelCli
http://jewelcli.sourceforge.net/JCommando
http://jcommando.sourceforge.net/Parse-cmd
http://code.google.com/p/parse-cmd/
回答2:
JLine is a library for building shell-like applications in Java.
- Groovy is using it for it's shell implementation : groovysh.
- JLine is also used by OpenTelegard/2 (JRuby).
Since 2002, the project was hosted on SourceForge.net and last release was JLine-1.0 on April 2011.
But in 2009, the project has started the migration to GitHub.com and has released the series 2.x since November 2009 (version 2.0). Last version 2.x when writing this answer is 2.14.2 in May 2016.
In October 2016, a new series 3.x has been released.
回答3:
I don't think scalability is a factor here. you want something which is feature complete and easy to use. I mostly use jargs but I generally dislike it's API (using it out of habit).
you can also try java getopt impl, which I did not personally used.
来源:https://stackoverflow.com/questions/1524661/the-best-cli-parser-for-java