我有一个像这样的简单 Groovy 脚本:
class Main {
static void main(String... args) {
args.each {
println ${it}
}
}
}
我不知道如何将命令行参数传递给它。我在 Windows 上运行脚本:
Groovy myscript.groovy "arg1" "arg2"
它会导致错误:
Caught: groovy.lang.MissingMethodException: No signature of method: Main$_main_closure1.$() is applicable for argument types: (Main$_main_closure1$_closure2) values: [Main$_main_closure1$_closure2@68b32e3e] Possible solutions: is(java.lang.Object), is(java.lang.Object), any(), any(), any(groovy.lang.Closure), use([Ljava.lang.Object;) groovy.lang.MissingMethodException: No signature of method: Main$_main_closure1.$() is applicable for argument types: (Main$_main_closure1$_closure2) values: [Main$_main_closure1$_closure2@68b32e3e] Possible solutions: is(java.lang.Object), is(java.lang.Object), any(), any(), any(groovy.lang.Closure), use([Ljava.lang.Object;) at Main$_main_closure1.doCall(hash_text.groovy:10) at Main.main(hash_text.groovy:9)
最佳答案
您只是有一个语法错误。而不是
println ${it}
使用
println it
或
println "${it}"
关于groovy - 将命令行参数传递给 Groovy 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50446210/