java – Apache Commons CLI:获取一个选项的值列表

对于CLI,我需要传递一个int数组作为特定选项的输入。

示例 – 以下命令将接收一个customerIds数组并执行一些操作。

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
}

有人可以帮我识别这个问题吗?

您必须设置该选项可以采用的参数值的最大值,否则假定该选项只有1个参数值

Options options = new Options();
Option option = new Option("c", "c desc");
// Set option c to take maximum of 10 arguments
option.setArgs(10);
options.addOption(option);
翻译自:https://stackoverflow.com/questions/17180743/apache-commons-cli-getting-list-of-values-for-an-option

转载注明原文:java – Apache Commons CLI:获取一个选项的值列表