【发布时间】:2016-02-29 19:58:16
【问题描述】:
我的 JCommander 有问题。如果 required 参数 iam testing 没有价值,我希望程序抛出异常。当我忘记向最后一个参数添加值时,我想要的这个异常就会发生。
示例(注意:所有参数都是必填和字符串):
--user hugo --password boss --confirmPassword //no value
com.beust.jcommander.ParameterException: 参数 --comfirmPassword 之后需要一个值
如果我忘记为其他参数添加值,则将下一个参数视为该值。
--user --password --confirmPassword hugo
//--password is considered as the value of user
由于这种行为,无法再找到 --password 并且我得到了错误的异常。
com.beust.jcommander.ParameterException:需要以下选项:--password
有没有办法告诉 jCommander 他不应该将下一个参数视为一个值?
【问题讨论】:
-
对不起,我真的不明白你想告诉我什么。你能给我解释一下吗?
-
如果你说
--user --password,如果用户名是--password,你会怎么做?即使用户有效也会失败? -
这确实是个问题。但 imo 这不太可能。用户忘记为用户添加值的情况可能会更频繁地发生。在这种情况下,用户甚至无法说出问题所在,因为异常并没有说明正确的错误。但可以肯定的是,你是绝对正确的!
标签: java command-line-interface jcommander