
The apache commons cli library provides an api for parsing command line options passed to programs. it's also able to print help messages detailing the options available for a command line tool.
commons cli supports different types of options:
* posix like options (ie. tar -zxvf foo.tar.gz)
* gnu like long options (ie. du --human-readable --max-depth=1)
* java like properties (ie. java -djava.awt.headless=true foo)
* short options with value attached (ie. gcc -o2 foo.c)
* long options with single hyphen (ie. ant -projecthelp)