如何在运行时编译groovy用户输入的脚本

如何在运行时编译groovy用户输入的脚本,groovy,Groovy,我想编译并执行一段Groovy,用户在运行时(在DSL中)键入它。这在Groovy中可能吗?如果是这样,最好的方法是什么?您可以使用GroovyClassLoader: def userScript = ''' (1..5).each { println 'X' * it } ''' Class c = new GroovyClassLoader().parseClass( userScript ) c.newInstance().run() 或者您可以使用中的任何其他方法。

我想编译并执行一段Groovy,用户在运行时(在DSL中)键入它。这在Groovy中可能吗?如果是这样,最好的方法是什么?

您可以使用GroovyClassLoader:

def userScript = '''
  (1..5).each {
    println 'X' * it
  }
'''

Class c = new GroovyClassLoader().parseClass( userScript )
c.newInstance().run()

或者您可以使用中的任何其他方法。

您可以使用GroovyClassLoader:

def userScript = '''
  (1..5).each {
    println 'X' * it
  }
'''

Class c = new GroovyClassLoader().parseClass( userScript )
c.newInstance().run()

或者您可以使用中的任何其他方法。

您可能希望在groovy中使用绑定的概念,它可以帮助您从外部注入变量并处理它们


您可能希望在groovy中使用绑定的概念,它可以帮助您从外部注入变量并处理它们