3

我有一个 groovy 脚本,需要从外部 groovy 脚本中解析一个类。我不确定如何传递参数。这是有效的:

我正在运行的 Groovy 脚本使用这一行从 external.groovy 解析外部类:

new GroovyShell().parse(new File('External.groovy'))

这是 external.groovy 的样子:

class External {
    public external() {
        println "Hello"
    }
}

有用。

我遇到的问题,我找不到将参数传递给外部方法的方法。这是 external.groovy 的样子:

class External {
    public external(String name) {
        println name
    }
}

如何将参数添加到运行脚本:

new GroovyShell().parse(new File('external.groovy')) //need to include the 'Name' parameter to this
4

1 回答 1

5
  1. parse只解析你的文件而不执行它
  2. 你也得run打电话
  3. 你需要实例化你的文件并且你需要调用你的方法并给它参数
  4. 您需要通过Binding对象提供参数

这是课程和电话

class External {
     public external(String name) {
        println name
    }
}
new External.external(somename)

接着

def bindings = new Binding()
bindings.setVariable("somename", "mrhaki")
def shell = new GroovyShell(bindings)
shell.parse(new File('external.groovy'))
shell.run()
于 2014-06-11T16:22:01.690 回答