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)?