I think this question only makes sense if you give the Options spec
you are using.
Using an Options with both of these:

Option.builder().longOpt('one').numberOfArgs(1).build()
Option.builder('2').numberOfArgs(1).build()

It treats the "-2" as you are expecting.

Using an Options with both of these:

Option.builder().longOpt('one').numberOfArgs(2).optionalArg(true).build()
opts.addOption(Option.builder('2').numberOfArgs(1).build()

It gives the behavior you are describing, since indeed the "-2" could
be an optional argument.

Is there any reason you couldn't use the former?

Cheers, Paul.

<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Virus-free.www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On Sun, Nov 12, 2023 at 7:52 PM Sruteesh Kumar
<sruteesh....@protonmail.com.invalid> wrote:
>
> I have a doubt on Apache Commons CLI
>
> For DefaultParser, why is a negative number preferably considered as an 
> argument rather than an option
>
> Consider the following case, for example:
> String[] args= {"--one","arg1","-2","arg2"};
>
> Here, -2 is considered as an argument to --one, even if there is a required 
> option with key -2
>
> Why is it preferably considered as an argument rather than an option?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to