0
我定义了以下CliBuilder选项:CliBuilder:一选项或第二个选项
#!/usr/bin/env groovy
import org.apache.commons.cli.Option
def cli = new CliBuilder()
cli.with {
d(longOpt: 'database', 'database', args: 1, required: true)
u(longOpt: 'user', 'user', args: 1, required: true)
p(longOpt: 'password', 'password', args: 1, required: true)
_(longOpt: 'doFoo', argName: 'foo param', args: 1, "make foo.")
_(longOpt: 'doBar', 'do bar.')
}
def opt = cli.parse(args)
if (!opt) return
if (opt.h) cli.usage()
println "Hooray"
参数d,u和p的定义为需要。 doFoo和doBar都是而不是按需定义,但其中一个应该至少定义为,否则程序应该失败/应该执行方法usage()。
解决这个问题的最好方法是什么?有没有办法实现一种或条件(doFoo或doBar)?