Мне нужно проанализировать аргументы командной строки следующего формата:
./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"
Почему это происходит и какое исправление я должен сделать, чтобы получить ожидаемые результаты?