Commons Cli中的截断选项被错误地接受

时间:2019-02-06 15:31:45

标签: java apache-commons-cli

代码

private static void buildMyCliOptions() { 


             optionsMyAdd.addOption(Option.builder()
                         .longOpt("my-address")
                         .argName("property=value")
                         .hasArg()
                         .desc("Specify Address")
                         .required()
                         .build());


             optionsMyAdd.addOption(Option.builder()
                         .longOpt("My-port")
                         .argName("property=value") 
                         .hasArgs()
                         .valueSeparator()
                         .desc("Specify port")
                         .required()
                         .build());

         } 


tempOptions = ParseCommand.getOptionsMyAdd();
commandLine = cmdLineParser.parse(tempOptions, ParseCommand.args,true);

当我发出如下命令时:

add --my-addr=example1  --my-port=example2

即使我的地址选项被截断,也可以接受。

如何避免接受它,而只允许使用完整的--my-address选项?

1 个答案:

答案 0 :(得分:0)

这是Apache commons-cli的功能,据我所知无法关闭。

此操作已在org.apache.commons.cli.Options.java:287完成,我看不到有办法将其关闭。

因此,您唯一的“选项”可能是https://issues.apache.org/jira/secure/CreateIssue!default.jspa处对commons-cli的功能请求