我想编译并执行用户在运行时(在 DSL 中)输入的一段 Groovy。这在 Groovy 中可能吗?如果是这样,最好的方法是什么?
最佳答案
您可以使用 GroovyClassLoader:
def userScript = '''
(1..5).each {
println 'X' * it
}
'''
Class c = new GroovyClassLoader().parseClass( userScript )
c.newInstance().run()
或者您可以使用 documentation for integrating Groovy 中的任何其他方法.
关于groovy - 如何在运行时编译 groovy 用户输入的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10631418/