Эксклюзивные опции с необходимыми аргументами

Я пишу код, который имеет основной случай переключения создать / запустить / остановить.., который имеет различное количество аргументов в качестве входных данных. Я пытаюсь добавить общие Cli, чтобы обеспечить все аргументы с правильными тегами.

Я пытаюсь достичь любого из нижеприведенного>

-o начать -p новый -t abc

-o остановить -p старый -t abc

-o отменить -p старый -t abc

-o создать -p новый -s zyx -t abc -g 1,23,23 -c "это комментарий"

-о комп -н 23 -м 1

или же

-start -p новый -t abc

-stop -p old -t abc

-cancel -p старый -t abc

-create -p new -s zyx -t abc -g 1,23,23 -c "это комментарий"

-комп-н 23 -м 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 ответов

Другие вопросы по тегам