[ https://issues.apache.org/jira/browse/CLI-306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17809105#comment-17809105 ]
Sruteesh Kumar Paramata commented on CLI-306: --------------------------------------------- HI [~Todd Ye] Even the below test failed {color:#cccccc}@{color}{color:#4ec9b0}Test{color}{color:#cccccc} {color} {color:#cccccc} {color}{color:#569cd6}public{color}{color:#cccccc} {color}{color:#4ec9b0}void{color}{color:#cccccc} {color}{color:#dcdcaa}testBug306{color}{color:#cccccc}() {color}{color:#569cd6}throws{color}{color:#cccccc} {color}{color:#4ec9b0}Exception{color}{color:#cccccc} {{color} {color:#cccccc} {color}{color:#569cd6}final{color}{color:#cccccc} {color}{color:#4ec9b0}String{color}{color:#cccccc}[] {color}{color:#4fc1ff}args{color}{color:#cccccc} {color}{color:#d4d4d4}={color}{color:#cccccc} {{color}{color:#ce9178}"--one"{color}{color:#cccccc},{color}{color:#ce9178}"arg1"{color}{color:#cccccc},{color}{color:#ce9178}"-2"{color}{color:#cccccc},{color}{color:#ce9178}"arg2"{color}{color:#cccccc}};{color} {color:#cccccc} {color}{color:#4ec9b0}Options{color}{color:#cccccc} {color}{color:#9cdcfe}options1{color}{color:#cccccc} {color}{color:#d4d4d4}={color}{color:#cccccc} {color}{color:#c586c0}new{color}{color:#cccccc} {color}{color:#dcdcaa}Options{color}{color:#cccccc}();{color} {color:#cccccc} {color} {color:#cccccc} {color}{color:#9cdcfe}options1{color}{color:#cccccc}.{color}{color:#dcdcaa}addOption{color}{color:#cccccc}({color}{color:#4ec9b0}Option{color}{color:#cccccc}.{color}{color:#dcdcaa}builder{color}{color:#cccccc}({color}{color:#ce9178}"1"{color}{color:#cccccc}).{color}{color:#dcdcaa}longOpt{color}{color:#cccccc}({color}{color:#ce9178}"one"{color}{color:#cccccc}).{color}{color:#dcdcaa}hasArgs{color}{color:#cccccc}().{color}{color:#dcdcaa}build{color}{color:#cccccc}());{color} {color:#cccccc} {color}{color:#9cdcfe}options1{color}{color:#cccccc}.{color}{color:#dcdcaa}addOption{color}{color:#cccccc}({color}{color:#4ec9b0}Option{color}{color:#cccccc}.{color}{color:#dcdcaa}builder{color}{color:#cccccc}({color}{color:#ce9178}"2"{color}{color:#cccccc}).{color}{color:#dcdcaa}longOpt{color}{color:#cccccc}({color}{color:#ce9178}"two"{color}{color:#cccccc}).{color}{color:#dcdcaa}hasArg{color}{color:#cccccc}().{color}{color:#dcdcaa}required{color}{color:#cccccc}().{color}{color:#dcdcaa}build{color}{color:#cccccc}());{color} {color:#cccccc} {color}{color:#569cd6}final{color}{color:#cccccc} {color}{color:#4ec9b0}CommandLine{color}{color:#cccccc} {color}{color:#4fc1ff}cl{color}{color:#cccccc} {color}{color:#d4d4d4}={color}{color:#cccccc} {color}{color:#9cdcfe}parser{color}{color:#cccccc}.{color}{color:#dcdcaa}parse{color}{color:#cccccc}({color}{color:#9cdcfe}options1{color}{color:#cccccc}, {color}{color:#4fc1ff}args{color}{color:#cccccc});{color} {color:#cccccc} }{color} > Issue parsing numeric options following an option which accepts multiple args > in DefaultParser > ---------------------------------------------------------------------------------------------- > > Key: CLI-306 > URL: https://issues.apache.org/jira/browse/CLI-306 > Project: Commons CLI > Issue Type: Bug > Components: CLI-1.x > Affects Versions: 1.4 > Reporter: Todd Ye > Priority: Major > > commons-cli seems to be unable to detect numeric options in their short "opt" > form following an option which takes multiple arguments. > Will consistently throw: > {code:java} > Exception in thread "main" org.apache.commons.cli.MissingOptionException: > Missing required option: 2 > {code} > How to reproduce: > {code:java} > Option multipleOptional = Option.builder("1") > .longOpt("one") > .argName("value1,value2,...,valueN") > .hasArgs() > .valueSeparator(',') > .build(); > Option singleMandatory = Option.builder("2") > .argName("value") > .longOpt("two") > .hasArg() > .required() > .build(); > Options options = new Options(); > options.addOption(singleMandatory); > options.addOption(multipleOptional); > CommandLineParser parser = new DefaultParser(); > CommandLine line = parser.parse(options, args); > for (Option o : line.getOptions()) { > System.out.println(o.getOpt() + '\t' > + Arrays.toString(o.getValues())); > } > {code} > now pass in: > {code:java} > --one argNumOne,argNumTwo -2 argNumThree > {code} > Note that an error will not occur if "opt" is set to a char like "a/b/c" or > if the previous option is set with hasArg() instead of hasArgs() > Also error will not occur if the longOpt is used such as: > {code:java} > --one argNumOne,argNumTwo --two argNumThree > {code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)