如何解决apache commons cli:如果不包含参数,则将下一个Option作为参数
我想传递命令行参数。 但是,在这种情况下,如果“ -a”后跟“ -b”,我希望解析器接受“ -b”作为参数,而不希望包含-b。有一个简单的方法吗? 这就是我所拥有的。
import org.apache.commons.cli.*;
Option remove = new Option("a",true,"a option");
remove.setrequired(false);
remove.setoptionalArg(false);
options.addOption(remove);
Option trim = new Option("b",false,"b option");
trim.setrequired(false);
trim.setoptionalArg(true);
options.addOption(trim);
CommandLineParser parser = new DefaultParser();
CommandLine cmd;
try {
cmd = parser.parse(options,args);
} catch (ParseException ex) {
setErrorMessage();
return;
}
解决方法
我最终以一种很怪异的方式解决了这个问题。 我只会检查“ a”之后的内容,如果是“ b”,则不添加“ b”选项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。