动态Groovy上载到Grails应用程序

动态Groovy上载到Grails应用程序,grails,groovy,embedded-resource,groovyshell,Grails,Groovy,Embedded Resource,Groovyshell,是的,我们知道用户将代码上传到生产系统中所带来的所有安全风险,但是为了解决这个问题,让我们假装这不重要。 在正在开发的Grails应用程序中,我们需要允许用户上传一些Groovy代码,这些代码将由Grails应用程序使用,同时还需要一个CLI,我们的客户将下载并使用它 关于嵌入Groovy,我知道以下几点 有比即时嵌入和解释更好的选择吗?或者这就是它吗?取决于嵌入Groovy的意思。控制台插件提供了一种相当不错的方式,可以通过访问grails上下文和域类动态添加运行代码。如果查看代码,将脚本作为

是的,我们知道用户将代码上传到生产系统中所带来的所有安全风险,但是为了解决这个问题,让我们假装这不重要。

在正在开发的Grails应用程序中,我们需要允许用户上传一些Groovy代码,这些代码将由Grails应用程序使用,同时还需要一个CLI,我们的客户将下载并使用它

关于嵌入Groovy,我知道以下几点


有比即时嵌入和解释更好的选择吗?或者这就是它吗?

取决于嵌入Groovy的意思。控制台插件提供了一种相当不错的方式,可以通过访问grails上下文和域类动态添加运行代码。如果查看代码,将脚本作为字符串存储在数据库中并使用插件提供的脚本执行机制并不困难

另一种选择是要求用户编译并发送编译后的类/jar,但我相信这不是您想要的,我并不反对。如果我采用这种方法,我如何将其加载到Tomcat的类加载器中?所以我的应用程序的其他部分可以看到字节码?我真的在想你在做一些脚本解释器。好的,类加载更灵活(您可以使用普通Java和其他jvm语言),但我不确定是否在Tomcat中使用自己的类加载程序