Эксклюзивные опции с необходимыми аргументами
Я пишу код, который имеет основной случай переключения создать / запустить / остановить.., который имеет различное количество аргументов в качестве входных данных. Я пытаюсь добавить общие 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);
}