<dependencies>
<dependency>
<groupId>net.sf.jopt-simple</groupId>
<artifactId>jopt-simple</artifactId>
<version>5.0.4</version>
</dependency>
</dependencies>
import joptsimple.OptionParser;
import joptsimple.OptionSet;
public class CommandLineParserExample {
public static void main(String[] args) {
OptionParser parser = new OptionParser();
parser.accepts("verbose");
parser.accepts("name").withRequiredArg();
OptionSet options = parser.parse(args);
if (options.has("verbose")) {
System.out.println("Verbose mode is enabled");
}
if (options.has("name")) {
String name = (String) options.valueOf("name");
System.out.println("Name: " + name);
}
}
}
parser.accepts("verbose").withDescription("Enable verbose mode");
parser.accepts("name").withRequiredArg().withDescription("Specify a name");
parser.printHelpOn(System.out);
parser.accepts("name").withOptionalArg();
OptionSpec<Integer> numberOption = parser.accepts("number").withOptionalArg()
.withValuesConvertedBy(IntegerConverter.getInstance());
parser.accepts("option").withRequiredArg()
.withValuesAccepted(Arrays.asList("foo", "bar"));