将命令行参数传递给Groovy脚本
我有一个简单的Groovy脚本,如下所示:将命令行参数传递给Groovy脚本,groovy,Groovy,我有一个简单的Groovy脚本,如下所示: class Main { static void main(String... args) { args.each { println ${it} } } } 我不知道如何将命令行参数传递给它。我在Windows上,以以下方式运行脚本: Groovy myscript.Groovy“arg1”arg2 它会导致错误: 捕获:groovy.lang.MissingMethodExc
class Main {
static void main(String... args) {
args.each {
println ${it}
}
}
}
我不知道如何将命令行参数传递给它。我在Windows上,以以下方式运行脚本:
Groovy myscript.Groovy“arg1”arg2
它会导致错误:
捕获:groovy.lang.MissingMethodException:没有方法的签名:Main$\u Main\u closure1。$()适用于参数类型:(Main$\u Main\u closure1$\u closure2)值:[Main$\u Main\u closure1$_closure2@68b32e3e]
可能的解决方案:is(java.lang.Object)、is(java.lang.Object)、any()、any()、any(groovy.lang.Closure)、use([Ljava.lang.Object;)
groovy.lang.MissingMethodException:没有方法的签名:Main$\u Main\u closure1。$()适用于参数类型:(Main$\u Main\u closure1$\u closure2)值:[Main$\u Main\u closure1$_closure2@68b32e3e]
可能的解决方案:is(java.lang.Object)、is(java.lang.Object)、any()、any()、any(groovy.lang.Closure)、use([Ljava.lang.Object;)
在Main$\u Main\u closure1.doCall(hash\u text.groovy:10)
Main.Main(hash_text.groovy:9)
您只是有一个语法错误。而不是
println ${it}
使用
或
您只是有一个语法错误。而不是
println ${it}
使用
或
不知道是否有明确的理由这样做,但groovy脚本中不需要显式类。此外,还有一个隐式的
args
集合自动注入到脚本中
换句话说,将以下内容粘贴到test.groovy中
println "ARGS: $args"
println "CLASS: ${args.class}"
给出以下执行结果:
~> groovy test.groovy foo bar
ARGS: [foo, bar]
CLASS: class [Ljava.lang.String;
其中,类printout意味着隐式args
变量是字符串数组类型。不知道这样做是否有明确的原因,但groovy脚本中不需要显式类。此外,还有一个隐式args
集合自动注入到脚本中
换句话说,将以下内容粘贴到test.groovy中
println "ARGS: $args"
println "CLASS: ${args.class}"
给出以下执行结果:
~> groovy test.groovy foo bar
ARGS: [foo, bar]
CLASS: class [Ljava.lang.String;
其中,类printout表示隐式args
变量为字符串数组类型