Grails使用参数运行脚本

Grails使用参数运行脚本,grails,Grails,我想创建一个grails脚本,在我的应用程序中添加一个管理员帐户。比如: grails run-script utils/adminAdd.groovy username password 不幸的是,运行脚本似乎不支持向脚本传递参数(而是允许一次运行多个脚本)。 有人知道解决方法吗?这应该得到支持,因此您应该在 同时,我认为为了保持向后兼容性,您可能需要一种区分脚本名称和参数的方法,例如前缀: grails run-script utils/adminAdd.groovy -Jusername

我想创建一个grails脚本,在我的应用程序中添加一个管理员帐户。比如:

grails run-script utils/adminAdd.groovy username password
不幸的是,运行脚本似乎不支持向脚本传递参数(而是允许一次运行多个脚本)。
有人知道解决方法吗?

这应该得到支持,因此您应该在

同时,我认为为了保持向后兼容性,您可能需要一种区分脚本名称和参数的方法,例如前缀:

grails run-script utils/adminAdd.groovy -Jusername -Jpassword -Jfoo=bar
然后,
runscript
可以将参数列表拆分为不带前缀的脚本名称,并在每个脚本运行时向其发送不带前缀的参数

一旦在本地运行,发送拉取请求或将更新的脚本附加到JIRA,它将得到更快的修复。

请参阅我的答案


简而言之,如果有人仍在寻找现成的解决方案,您需要
includeTargets

我通过深入研究grails-2.x/scripts/RunScript.groovy解决了这个问题。然后我为自己编写了一个名为RunSingleScript.groovy的新脚本,它接受参数,而不是原始的脚本列表


我相信这段代码可以被重新编写成什么,并成为核心RunScript.groovy的一部分。我很懒,有点忙,所以我制作了一个自定义脚本来完成这项工作。

为什么要通过脚本添加用户?有几种方法可以做到这一点:引导、grails控制台、控制器……以及如何在没有用户交互的情况下调用它们中的任何一种(例如在cron作业中)?行政管理只是一个例子。