我不明白如何在 Commons CLI 中Options
申请DefaultParser
。
创建CommandLine
对象时,assignedOptions
始终为空。
下面的代码块是我解释 Commons CLI 文档的方式:
public static void main(String[] args) {
Options options = new Options();
options.addOption("c", false, "why are you hidding from me");
CommandLineParser parser = new DefaultParser();
System.out.println(args[0]); // this prints -c
try {
CommandLine line = parser.parse(options, args);
System.out.println(line.getArgs()[0]); // prints -c
Option[] o = line.getOptions(); // this is empty for some reason
System.out.println(o.length); // prints 0
if (line.hasOption("c")) { // false
System.out.println(" flag c found");
}
}
catch(ParseException e ) {
e.printStackTrace();
}
为什么它line.getOptions()
是空的,以及如何正确应用选项?