我试图用jCommander来解析Groovy中的命令行参数。使用jCommander从Groovy解析命令行(示例代码失败)
(的MacBook(酋长),Groovy的2.4.11,jCommander-1.49)
提供jCommander.org(见http://jcommander.org/#_groovy)的例子如下:
import com.beust.jcommander.Parameter;
public class Args {
@Parameter
private List<String> parameters = new ArrayList<>();
@Parameter(names = { "-log", "-verbose" }, description = "Level of verbosity")
private Integer verbose = 1;
@Parameter(names = "-groups", description = "Comma-separated list of group names to be run")
private String groups;
@Parameter(names = "-debug", description = "Debug mode")
private boolean debug = false;
}
但是当我尝试运行该代码(常规jCommanderSample.groovy)我得到:
[email protected]:~/.../Groovy/CliParameters $ groovy jCommanderSample.groovy
Caught: groovy.lang.MissingMethodException: No signature of method: static com.beust.jcommander.JCommander.newBuilder() is applicable for argument types:() values: []
groovy.lang.MissingMethodException: No signature of method: static com.beust.jcommander.JCommander.newBuilder() is applicable for argument types:() values: []
at jCommanderSample$_run_closure1.doCall(jCommanderSample.groovy:9)
at jCommanderSample.run(jCommanderSample.groovy:8)
我错过了什么?
lexu,你有机会尝试解决方案吗? – Rao
thx饶。您的解决方案帮助我了解发生了什么问题..提供的代码不能单独运行,它仍然需要调用者。我将添加一个简单的工作脚本,可以从命令行运行并演示参数处理。 – lexu
没有从你的回应中得到它。问题中发布的原始问题是否已解决? – Rao