Я пишу приложение командной строки в Java, и я выбрал Apache Commons CLI для анализа входных аргументов.Commons CLI обязательные группы
Предположим, у меня есть две требуемые опции (т.е. -вход и выход). Я создаю новый объект Option и устанавливаю требуемый флаг. Пока все хорошо. Но у меня есть третий, необязательный вариант, т.е. -Помогите. С настройками, которые я упомянул, когда пользователь хочет показать справку (используйте параметр -help), он говорит: «-вход и выход» требуются. Есть ли способ реализовать это (через Commons CLI API, а не просто, если (! HasOption) throw new XXXException()).
ОК. Но как я могу сказать, что я не нашел матч? ("и если совпадение не найдено")? Если я устанавливаю обязательный флаг, я получаю ParseExeception, но когда я передаю параметр, который недоступен, я также получаю ParseException :(Как я могу отличить эти случаи? – pavel
Вы знаете, если вы получили совпадение, когда 'commandline.getOptions()' isn ' t empty –
Ok. Это возможное решение. Но как насчет обработки неподдерживаемых опций? Доступны следующие опции: -help, -input, -output. User puts -test. Затем мне нужно проверить первый набор (с помощью HELP), чтобы определить, был найден или нет.Если не было или UnrecognizedOptionException было брошено, то мне нужно проанализировать второй набор параметров? Просто попробуйте {parsefirstSet() if (not_found) parseSecondSet() catch (ParserException) {parseSecondSet()}? Я что-то пропустил или это то, что вы предложили. Спасибо за помощь. btw :) – pavel