[英]Getting an option value always return 'null'
我堅持以下情況。 每當我嘗試獲取選項值時,它返回null。
這是代碼片段:
public static Options configureOptions() {
Option groupOption = Option.builder("g")
.longOpt("group")
.required(false)
.desc("The group of the user.")
.build();
Options allOptions = new Options();
allOptions.addOption(taskOption);
return allOptions;
}
public static void main(String[] args) throws ParseException {
Options options = configureOptions();
CommandLineParser parser = new DefaultParser();
CommandLine commands = parser.parse(options, args);
if (commands.hasOption("group")) {
System.out.println("group: " + commands.getOptionValue("group"));
}
}
並使用選項-g staff運行,然后輸出始終為null
。
java -classpath rsa-1.0.0-SNAPSHOT.jar;c:\\Users\\user.m2\\repository\\commons-cli\\commons-cli\\1.3.1\\commons-cli-1.3.1.jar Main -g staff
使用Option.Builder
,您需要使用hasArg()
指定您的groupOption
具有參數。
Option groupOption = Option.builder("g")
.longOpt("group")
.required(false)
.desc("The group of the user.")
.hasArg() // This option has an argument.
.build();
的Javadoc:
用法/例子:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.