import joptsimple.OptionParser;
import joptsimple.OptionSet;
import joptsimple.OptionSpec;
public class CommandLineParser {
public static void main(String[] args) throws Exception {
OptionParser parser = new OptionParser();
OptionSpec<Integer> portOption = parser.accepts("port")
.withRequiredArg()
.ofType(Integer.class)
.defaultsTo(8080)
.describedAs("server port");
OptionSpec<String> configFileOption = parser.accepts("config")
.withRequiredArg()
.ofType(String.class)
.describedAs("config file path");
OptionSet options = parser.parse(args);
if (options.has(portOption)) {
int port = options.valueOf(portOption);
System.out.println("Server port: " + port);
}
if (options.has(configFileOption)) {
String configFile = options.valueOf(configFileOption);
System.out.println("Config file: " + configFile);
}
}
}