В Apache Commons CLI lib, можно ли обойти использование короткого имени, заставляя пользователя использовать длинное имя?Apache Commons CLI: как предотвратить использование коротких имен для параметров?
обычно, параметры определяются следующим образом:
new Option("u", "username", true, "automatic user name")
Я хотел бы запретить использование «и». Но если я заменил его на или пустую строку, есть Исключения ...
Почему это требование? Я хотел бы, чтобы все мои параметры были только в форме --optionName = optionValue, потому что некоторые части моего приложения Spring Spring и Spring Boot распознают по умолчанию параметры в этом формате.
Кроме того, для обеспечения согласованности среди разработчиков и пользователей и упростить документацию, я считаю, что лучше, если у нас есть уникальный способ использовать опцию вместо 2.
Спасибо за ответ, но я @centric может быть тупой, я не понимаю, как запросите объект 'cmd' в случае null short-arg. Кажется, что все методы в классе CommandLine требуют, чтобы в качестве параметра передавалось краткое имя ... Можете ли вы мне помочь? Благодаря ! –
В моем коде используется 'cmd.hasOption (" help ")', чтобы проверить, был ли задан '--help', работает ли это и для вас? – centic
да, ваш код работает хорошо, и я благодарю вас за это. На самом деле я хочу получить значение опции. Например, давайте представим, что помощь может получить значение, если объявить так: new Option (null, «help», false, «some desc»); Тогда как мне получить доступ к значению, указанному в командной строке, для «помощи»? Я упал, как и весь метод API, нужно использовать short-arg для запроса значения ... –