在groovysh中引用来自导入类的东西

时间:2014-10-28 22:29:16

标签: groovy groovyshell

说我有一个SomeThings.groovy文件:

def someVar = 'abc'
def someFunc(a) {
  a + 1
}

我在类路径中使用上面的文件启动groovysh并执行:

groovy:000> import SomeThings
===> SomeThings
groovy:000>

一切都好。但是:

groovy:000> someVar
Unknown property: someVar
groovy:000> someFunc(1)
ERROR groovy.lang.MissingMethodException:
No signature of method: groovysh_evaluate.someFunc() is applicable for argument types: (java.lang.Integer) values: [1]
groovy:000>

如何从groovysh引用someVarsomeFunc

1 个答案:

答案 0 :(得分:2)

修改SomeThings.groovy,如下所示:

//SomeThings.groovy
someVar = 'abc' // remove def to make variable available to shell
def someFunc(a) {
  a + 1
}

然后文件必须load编辑到shell,如下所示(load SomeThings.groovy也可以使用)。 :h或:help将显示其用法。

groovy:000> . SomeThings.groovy 
===> abc
===> true
groovy:000> someVar
===> abc
groovy:000> someFunc(1)
===> 2
groovy:000>