8

我环顾四周,这可能只是术语不正确的情况,但是 Apache commons CLI 是否可以处理重复的选项?例如:

program --arg value1 --arg value2 ...

我知道你可以指定多个选项参数,所以它会接受像......

program --arg value1 value2

...但我想处理任意数量的重复选项。有谁知道这是否/如何可能?

我发现这个问题有点相似,但从未得到回答。

4

1 回答 1

12

对的,这是可能的:

String[] args = { "-arg", "value1", "-arg", "value2" };
CommandLineParser parser = new DefaultParser();
Options options = new Options();
options.addOption("arg", true, "Argument");
CommandLine line = parser.parse( options, args );

String values[] = line.getOptionValues("arg");
System.out.println(Arrays.asList(values));

结果:

[value1, value2]
于 2016-08-11T15:35:30.350 回答