This question already has an answer here:
- How do I parse command line arguments in Java? 20 answers
What CLI parser for Java is easy to use and more scalable than others?
This question already has an answer here:
What CLI parser for Java is easy to use and more scalable than others?
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.html
Natural 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.html
JewelCli
http://jewelcli.sourceforge.net/
JCommando
http://jcommando.sourceforge.net/
Parse-cmd
http://code.google.com/p/parse-cmd/
JLine is a library for building shell-like applications in Java.
groovysh
.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.
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.