我正在尝试将groovy嵌入到大型
Java应用程序中.
Java应用程序应该在启动时加载一些实用程序Groovy脚本.
然后应用程序应该多次运行其他脚本.还需要在GUI处输入一些代码并在用户请求时执行它.
我面临的问题是:
我正在加载启动脚本,如下所示:
GroovyShell gShell = new GroovyShell();
gShell.evaluate(new FileReader("scripts/autoload.groovy"));
假设我的autoload.groovy包含:
def prnt(m) {
println("From Groovy: " + m);
}
这很好用.但是,当我想使用以下命令运行用户命令时:
gShell.evaluate("prnt 66");
我收到错误:
groovy.lang.MissingMethodException:没有方法签名:Script2.prnt()适用于参数类型:(java.lang.Integer)值:[66]
我的用户脚本如何访问已加载的方法?
注意:我也试过“autoload.prnt 88”,仍然得到错误.