带有必选参数的互斥选项

时间:2019-01-29 09:13:29

标签: java apache-commons-cli

我正在编写一个代码,该代码具有一个主开关案例create / start / stop ..,其中输入的参数数量不同。我正在尝试添加commons cli,以便为所有参数提供正确的标签。

我正在尝试实现以下任何一个>

-o start -p new -t abc

-o停止-p old -t abc

-o取消-p old -t abc

-o创建-p新-s zyx -t abc -g 1,23,23 -c“这是评论”

-o comp -n 23 -m 1

-开始-p新-t abc

-停止-p old -t abc

-取消-p old -t abc

-create -p new -s zyx -t abc -g 1,23,23 -c“这是评论”

-comp -n 23 -m 1

使用下面的代码,我到达开始/停止/创建是排他性的位置..但是我无法根据开始/停止进行其他选择。

 Option o = new Option("create", false, "Create new process");
 Option s = new Option("start", false, "Start created process");
 Option st = new Option("stop", false, "Stop running process");


 OptionGroup optionGroup = new OptionGroup( );    
 optionGroup.addOption(o);  
 optionGroup.addOption(s);
 optionGroup.addOption(st);
 optionGroup.setRequired(true);
 options.addOptionGroup( optionGroup );


 CommandLineParser parser = new DefaultParser();
 HelpFormatter formatter = new HelpFormatter();


 try {
     cmd = parser.parse(options, args);

     if (cmd.hasOption("create"))
     {
         System.out.println("create selected");

     }

 } catch (ParseException e) {
     System.out.println(e.getMessage());
     formatter.printHelp("Test_jar", options);

     System.exit(1);
 }

0 个答案:

没有答案