import org.apache.commons.cli.*; public class MyCLIApplication { public static void main(String[] args) { Options options = new Options(); Option input = new Option("i", "input", true, "input file path"); input.setRequired(true); options.addOption(input); Option output = new Option("o", "output", true, "output file path"); output.setRequired(true); options.addOption(output); CommandLineParser parser = new DefaultParser(); HelpFormatter formatter = new HelpFormatter(); CommandLine cmd; try { cmd = parser.parse(options, args); } catch (ParseException e) { System.out.println(e.getMessage()); formatter.printHelp("mycliapp", options); System.exit(1); return; } String inputFilePath = cmd.getOptionValue("input"); String outputFilePath = cmd.getOptionValue("output"); } } import picocli.CommandLine; import picocli.CommandLine.Command; import picocli.CommandLine.Option; @Command(name = "mycliapp", mixinStandardHelpOptions = true, version = "1.0", description = "My CLI Application") public class MyCLIApplication implements Runnable { @Option(names = {"-i", "--input"}, required = true, description = "input file path") private String inputFilePath; @Option(names = {"-o", "--output"}, required = true, description = "output file path") private String outputFilePath; public static void main(String[] args) { CommandLine.run(new MyCLIApplication(), args); } @Override public void run() { } } import com.beust.jcommander.JCommander; import com.beust.jcommander.Parameter; public class MyCLIApplication { @Parameter(names = {"-i", "--input"}, required = true, description = "input file path") private String inputFilePath; @Parameter(names = {"-o", "--output"}, required = true, description = "output file path") private String outputFilePath; public static void main(String[] args) { MyCLIApplication app = new MyCLIApplication(); JCommander commander = JCommander.newBuilder().addObject(app).build(); commander.parse(args); } }


上一篇:
下一篇:
切换中文