簡體   English   中英

獲取選項值始終返回“null”

[英]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:

https://commons.apache.org/proper/commons-cli/javadocs/api-release/org/apache/commons/cli/Option.Builder.html#hasArg--

用法/例子:

https://commons.apache.org/proper/commons-cli/usage.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM