在 中使用List<>
选项时@ArgGroup
,它会在简短的使用帮助中重复出现。考虑以下代码:
import picocli.CommandLine;
import picocli.CommandLine.*;
import picocli.CommandLine.Model.CommandSpec;
@Command(name = "MyApp")
public class App implements Runnable {
@ArgGroup(exclusive=true) // or false
MyGroup myGroup;
static class MyGroup {
@Option(names="-A", paramLabel="N", split=",") List<Long> A;
}
@Spec CommandSpec spec;
@Override
public void run() {
System.out.printf("OK: %s%n", spec.commandLine().getParseResult().originalArgs());
}
public static void main(String[] args) {
new CommandLine(new App()).execute("-h");
}
}
显示以下输出
Usage: MyApp [[-A=N[,N...]] [-A=N[,N...]]...]
我期待输出
Usage: MyApp [-A=N[,N...]]
@ArgGroup
由于其他原因在代码中需要它,但在这个玩具示例中似乎是徒劳的。