【问题标题】:How to add command line parameter dependency using JCommander?如何使用 JCommander 添加命令行参数依赖项?
【发布时间】:2014-08-12 22:45:12
【问题描述】:
【问题讨论】:
标签:
java
command-line
jcommander
args4j
【解决方案1】:
我遇到了完全相同的问题,但似乎 args4j 增加了对多个值的支持:
import org.kohsuke.args4j.spi.StringArrayOptionHandler;
@Option(name = "-p", handler = StringArrayOptionHandler.class, required = true)
private List<String> list;
应该允许
-p arg1 arg2 ...
【解决方案2】:
是的,你可以使用 args4j,它确实支持多个值。
JCommander:
@Parameter(names={"--length", "-l"})
int length;
Args4j:
@Option(name = "-l", aliases = { "--length" })
int length;
关于验证和依赖:当然,您可以手动执行此操作。这不是太多的编程。如果 a 也没有给出,则忽略选项 b,或者如果 a 为非 null 但 b 为 null,则抛出异常。