(См. также https://github.com/remkop/picocli/issues/488< /а>эм>)
У меня есть приложение, которое использует поле Map
для опции:
@Option(names = "-P")
Map<String, String> properties;
поэтому пользователи могут указывать такие значения, как:
-Pmyprop=myvalue
В Picocli есть возможность отключить групповые короткие опции с помощью CommandLine.setPosixClusteredShortOptionsAllowed(false)
.
Однако в этой конфигурации параметры больше не распознаются, когда значение параметра присоединено к имени параметра. Приведенный выше пример -Pmyprop=myvalue
завершается ошибкой с исключением:
picocli.CommandLine$UnmatchedArgumentException: Unknown option: -Pmyprop=myvalue
Когда я разделяю имя параметра -P
и значение параметра (пара ключ-значение) пробелом, значение анализируется правильно:
-P myprop=myvalue // this works
Это ожидаемое поведение? ИМО, параметры карты отличаются от других параметров, и было бы полезно иметь поддержку первого, даже если группированные короткие параметры не разрешены.