我想编译并执行用户在运行时(在 DSL 中)输入的一段 Groovy。这在 Groovy 中可行吗?如果是这样,最好的方法是什么?
问问题
1773 次
2 回答
4
您可以使用 GroovyClassLoader:
def userScript = '''
(1..5).each {
println 'X' * it
}
'''
Class c = new GroovyClassLoader().parseClass( userScript )
c.newInstance().run()
或者,您可以使用文档中的任何其他方法来集成 Groovy。
于 2012-05-17T08:01:07.533 回答
0
您可能想在 groovy 中使用绑定的概念,它可以帮助您从外部注入变量并处理它们。
http://mrhaki.blogspot.in/2010/08/groovy-goodness-store-closures-in.html
于 2012-05-17T09:43:26.283 回答