The argparse4j is a command line argument parser library for Java based on Python's argparse.
- Customizable option prefix characters, e.g. '--foo', '+f' and '/h'.
- Supported positional arguments and optional arguments.
- Variable number of arguments.
- Generates well formatted line-wrapped help message.
- Takes into account East Asian Width ambiguous characters when line-wrap.
- Sub-commands like, git add.
- Print default values in help message.
- Choice from given collection of values.
- Type conversion from option strings.
- Can directly assign values into user defined classes using annotation.
- Group arguments so that it will be printed in help message in more readable way.
- Read additional arguments from file
- Print candidates for unrecognized flags/commands.
Fantastic. Very good use of dynamic features of Java. Method chaining is also a great solution to Java's lack of kwargs. One improvement that would be nice, though, is the ability to specify multiple types in the .Type() method in the same way it can be done in the .setDefault() method. Not crucial by any means, but would make some tasks easier.
argparse4j works great