Argparse4j is a command line argument parser library for Java based on Python's argparse module.
Argparse4j is available in Maven central repository:
<dependency>
<groupId>net.sourceforge.argparse4j</groupId>
<artifactId>argparse4j</artifactId>
<version>0.4.4</version>
</dependency>
There are still missing features which exist in argparse but not in argparse4j, but there are also new features which only exist in argparse4j.
Here is summary of features:
- Supported positional arguments and optional arguments.
- Variable number of arguments.
- Generates well formatted line-wrapped help message.
Suggests optional arguments/sub-command if unrecognized arguments/sub-command were given, e.g.:
unrecognized argument '--tpye' Did you mean: --type
- Takes into account East Asian Width ambiguous characters when line-wrap.
- Sub-commands like,
git add
. - Sub-command alias names, e.g.,
co
forcheckout
. - Customizable option prefix characters, e.g.
+f
and/h
. - 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.
- Mutually exclusive argument group.
- Read additional arguments from file.
- Argument/sub-command abbreviations.
The primary documentation is done using Sphinx. You need Sphinx to run mvn site
.