一、官方文档:http://commons.apache.org/proper/commons-cli/usage.html
二、举例说明:
import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; public class MyMain { public static void main(String[] args) { Options options = new Options(); OptionGroup group = new OptionGroup(); group.addOption( Option.builder("d") .required() .hasArgs() .desc("scan directory") .longOpt("directory") .build() ); group.addOption( Option.builder("t") .required() .hasArgs() .desc("target directory") .longOpt("template") .build() ); group.setRequired(true); options.addOptionGroup(group) .addOption( Option.builder("i") .hasArgs() .desc("ignore directory") .longOpt("ignore") .build() ) .addOption( Option.builder("r") .hasArgs() .longOpt("result") .desc("result directory") .build() ); CommandLineParser parser = new DefaultParser(); CommandLine cmd = null; try { cmd = parser.parse(options, args); if(cmd.hasOption("t")){ String template = cmd.getOptionValue("template"); System.out.println(template); } } catch (ParseException e) { helpU(options); return; } } public static void helpU(Options options){ HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("Java -jar MyMain.jar -* ", "This is utility to scan copied files", options, "ask support: send email to CPEG@calix.com", true); System.exit(1); } }