Scala: Apache DefaultParser не удалось проанализировать аргумент, содержащий "=" - PullRequest
0 голосов
/ 19 марта 2020

Мне нужно проанализировать аргументы командной строки следующего формата:

./foo --arg1 value1 --arg2 value2 --arg3 A=1,B=2,C=3

Я использую org.apache.commons.cli.BasicParser


val argsArray = "--arg1 true --arg2 helloworld --arg3 A=1,B=2,C=3".split(" ").map(_.trim)

val options = new Options()
options.addOption("arg1", true, "argument 1")
options.addOption("arg2", true, "argument 2")
options.addOption("arg3", true, "argument 2")

val parser = new BasicParser
val cmdLine = parser.parse(options, args)

val arg1Value = cmdLine.getOption("arg1")
val arg2Value = cmdLine.getOption("arg2")
val arg3Value = cmdLine.getOption("arg3")

arg1 и arg2 подходят нормально как "true" и "helloworld" соответственно.

Для arg3 Я ожидаю "A = 1, B = 2, C = 3", но получаю "A"

Почему это происходит и какое исправление я должен сделать, чтобы получить ожидаемые результаты?

...