Besides passing command line options to programs, the library is also able to print help messages detailing the options available for a command line tool.
Werken, Avalon and Optz are the three Java libraries that have contributed to the birth of this tool.
Here are some key features of "Apache Commons CLI":
- 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 -Djava.net.useSystemProxies=true Foo)
- Short options with value attached (ie. gcc -O2 foo.c)
- Long options with single hyphen (ie. ant -projecthelp)
- A major regression introduced in CLI 1.1 that prevented the usage of repeated options has been fixed.
- Several parser issues have been fixed, especially with the PosixParser.
- HelpFormatter now wraps the lines properly
- The ordering of the option in the help message can now be defined.
- Various API enhancements (improved exceptions, serializable classes)