[ 
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)

Reply via email to