我在Grails版本3.2.8中创建了一个脚本:
create-script my-script
在Grails 2中,我可以使用 ctx 变量注入服务:
def myService = ctx.myService
myService.myMethod() //works
我尝试在Grails 3脚本中做同样的事情。但是会抛出错误:
grails my-script
error: No such property: ctx for class: my-script
将服务注入Grails 3脚本的正确方法是什么?
答案 0 :(得分:0)
我发现了问题:
中所述打算以这种方式执行的Groovy脚本不能位于src / main / scripts中,因为该目录是为create-script创建的CLI脚本保留的。
此外,正确的命令是:
grails 运行脚本 /path/my-script.groovy
在Grails环境的上下文中执行Groovy脚本。