<dependency>
<groupId>com.martiansoftware</groupId>
<artifactId>jsap</artifactId>
<version>2.1</version>
</devpendency>
import com.martiansoftware.jsap.*;
public class MyApp {
public static void main(String[] args) throws Exception {
SimpleJSAP jsap = new SimpleJSAP(MyApp.class.getName(), "MyApp", "MyApp is an awesome application.", new String[]{"--input", "-i"}, new
String[]{"--output", "-o"});
jsap.registerParameter(new FlaggedOption("input")
.setStringParser(JSAP.STRING_PARSER)
.setRequired(true)
.setShortFlag('i')
.setLongFlag("input")
.setHelp("Input file"));
jsap.registerParameter(new FlaggedOption("output")
.setStringParser(JSAP.STRING_PARSER)
.setDefault("output.txt")
.setShortFlag('o')
.setLongFlag("output")
.setHelp("Output file"));
JSAPResult config = jsap.parse(args);
if (!config.success()) {
System.err.println("Error parsing command line arguments.");
System.err.println(jsap.getUsage());
System.exit(1);
}
String inputFile = config.getString("input");
String outputFile = config.getString("output");
// ...
}
}
import com.martiansoftware.jsap.*;
public class MyApp {
public static void main(String[] args) throws Exception {
SimpleJSAP jsap = new SimpleJSAP(MyApp.class.getName(), "MyApp", "MyApp is an awesome application.", new String[]{"--input", "-i"}, new
String[]{"--output", "-o"});
jsap.registerParameter(new FlaggedOption("input")
.setStringParser(JSAP.STRING_PARSER)
.setRequired(true)
.setShortFlag('i')
.setLongFlag("input")
.setHelp("Input file"));
jsap.registerParameter(new FlaggedOption("output")
.setStringParser(JSAP.STRING_PARSER)
.setDefault("output.txt")
.setShortFlag('o')
.setLongFlag("output")
.setHelp("Output file"));
JSAPResult config = jsap.parse(args);
if (!config.success()) {
System.err.println("Error parsing command line arguments.");
System.err.println(jsap.getUsage());
System.exit(1);
}
String inputFile = config.getString("input");
String outputFile = config.getString("output");
// ...
}
}
# MyApp configuration file
input: input.txt
output: output.txt
java MyApp --input input.txt --output output.txt
java MyApp -c config.txt