( См. Также 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
Это ожидаемое поведение? IMO, параметры карты отличаются от других параметров, и было бы полезно иметь поддержку первых, даже если кластерные короткие параметры не разрешены.