严格的命令行解析器

时间:2019-02-20 10:40:29

标签: java command-line-arguments apache-commons-cli

与此Apache command line parser相关联(因为这完全是主题)。有没有一种方法可以严格遵循速记法。像-m而不是-multi一样,或者长名称应该是--multiply而不是--multi

由于根据帖子,commons-cli(Apache)将-m-multi的评估结果相同。我当时的想法是只接受-m--multiply

我正在使用Apache的Commons CLI(commons-cli-1.3.1)

1 个答案:

答案 0 :(得分:0)

对于所有人的信息,我对如何解决此问题有了一个想法。看一下this。我对答案有想法。

基本上,您想做的是扩展DefaultParser类并覆盖parse()方法,在检查args时添加一些逻辑,然后处理到DefaultParser的{ {1}}(通过parse)。这样,您可以保留super.parse(...)的原始行为,同时在其之上添加逻辑。

希望这对某人有帮助。

answer @ArturSkrzydło的积分