为了一个命令行界面(CLI),我有一个要求需要将整数数组作为特定选项的输入传递。
例如 - 下面的命令将接受一个customerId数组并执行一些操作。
myCommand -c 123 124 125
我使用Apache commons CLI实现了CLI,并使用getOptionValues("c")来检索此数组。
问题在于,它只返回数组中的第一个元素,即[123],而我期望它返回[123,124,125]。
我的代码简化版本:
CommandLine cmd;
CommandLineParser parser = new BasicParser();
cmd = parser.parse(options, args);
if (cmd.hasOption("c")){
String[] customerIdArray = cmd.getOptionValues("c");
// Code to parse data into int
}
有人能帮我识别这里的问题吗?
cmd -opt1 { V1 V2 ... Vn } arg
,但似乎不存在,所以我只是将参数放在具有无限值的选项之前。 - Zangdakcmd --opt={V1 V2 ... Vn } -o --debug
这样的命令是可行的。 - VeikkoW