<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
<version>4.5.0</version>
</dependency>
import org.apache.commons.cli.*;
public class MyCLIApp {
public static void main(String[] args) {
Options options = new Options();
Option input = new Option("i", "input", true, "input file");
input.setRequired(true);
options.addOption(input);
Option output = new Option("o", "output", true, "output file");
output.setRequired(true);
options.addOption(output);
CommandLineParser parser = new DefaultParser();
HelpFormatter formatter = new HelpFormatter();
CommandLine cmd;
try {
cmd = parser.parse(options, args);
String inputFile = cmd.getOptionValue("input");
String outputFile = cmd.getOptionValue("output");
// ...
} catch (ParseException e) {
System.out.println(e.getMessage());
formatter.printHelp("my-cli-app", options);
System.exit(1);
}
}
}
java -jar my-cli-app.jar -i input.txt -o output.txt