Giriş
Şu satırı dahil ederiz.
import org.apache.commons.cli.Options;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
Kullanım
- Options sınıfının add(), addOption(), addOptionGroup() metodları kullanılarak Option eklenir
- Daha sonra şu çağrı başarılıysa elimize parse edilmiş bir CommandLine nesnesi geçer.
CommandLine cmd = CommandLineParser.parse(Options,args);
- Bu nesnenin getOptionValue() metodlarını kullanarak komut satırı parametrelerini alabiliriz.
Benim Kullandıklarım
Örnek
- Sıfır argument ile çağırabilirim. Ancak bu durumda bunu kontrol etmek lazım
- Tek argument ile çağırabilirim
- İki argument ile çağırabilirim
- Üç argument ile çağırırsam, sonuncusunu dikkate almaz
Option piuTypeOption = Option.builder("piuType").required()//.hasArgs() //unlimited number of args.numberOfArgs(2).optionalArg(true).desc("...").build();
Örnek
Şöyle yaparız
Options options = new Options();
Option token = new Option("t", "token", true, "token");
token.setRequired(true);
options.addOption(token);
Option projectname = new Option("p", "projectname", true, "project");
projectname.setRequired(true);
options.addOption(projectname);
Option branch = new Option("b", "branchname", true, "branch");
branch.setRequired(true);
options.addOption(branch);
Option pullreq = new Option("PR", "pullreq", true, "pullreq");
pullreq.setRequired(true);
options.addOption(pullreq);
CommandLineParser parser = new DefaultParser();
HelpFormatter formatter = new HelpFormatter();
CommandLine cmd = null;
try {
cmd = parser.parse(options, args);
} catch (ParseException e) {
System.out.println(e.getMessage());
formatter.printHelp("utility-name", options);
System.exit(1);
}
String token1 = cmd.getOptionValue("token");
String projectname1 = cmd.getOptionValue("projectname");
String branch1 = cmd.getOptionValue("branchname");
String pullreq1 = cmd.getOptionValue("pullreq");
Option ekler
Örnek - Argument Kullanmayan Mecburi Olmayan Option
Şöyle yaparız. OptionsBuilder deprecate edildi.
Options options = new Options();
options.add(OptionsBuilder.withLongOpt("help").create("h"));
options.add(OptionsBuilder.withLongOpt("version").create());
Örnek - Argument Kullanan Mecburi Olmayan Option
Şöyle yaparız. Yani -a şeklinde geçilebilir.
Option remove = new Option("a", true, "a description");
remove.setRequired(false);
remove.setOptionalArg(false);
Options options = new Options();
options.addOption(remove);
try{
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse(options, args);
} catch (ParseException ex) {
...
}
addOption metodu
The addOption method has three parameters.
- The first parameter is a java.lang.String that represents the option.
- The second parameter is a boolean that specifies whether the option requires an argument or not. In the case of a boolean option (sometimes referred to as a flag) an argument value is not present so false is passed.
- The third parameter is the description of the option.
Örnek - Argument Kullanmayan Mecburi Olan OptionŞöyle yaparızOptions options = new Options();
Option token = new Option("t", "token", true, "token");
token.setRequired(true);
options.addOption(token);
Örnek - Argument Kullanan Mecburi Olmayan OptionŞöyle yaparızOptions options = new Options();
options.addOption("b", true, "some message");
addOptionGroup metoduÖrnek - Argument Kullanan Mecburi OptionŞöyle yaparız. Hem input hem de output parametreleri gerekirOptionGroup group = new OptionGroup();
group.add(OptionsBuilder.withLongOpt("input").hasArg().create("i"));
group.add(OptionsBuilder.withLongOpt("output").hasArg().create("o"));
group.setRequired(true);
Options options = new Options();
options.addOptionGroup(group);
Hiç yorum yok:
Yorum Gönder