Pregunta

He revisado el maravilloso documento y no he encontrado un análogo, pero las cosas allí están organizadas un poco al azar. Estoy cambiando de beanshell a groovy y estaba usando el método de origen (" fileloc ") en beanshell para incluir en línea otros scripts de utilidad beanshell de utilidad para su reutilización. ¿Existe una función estándar para hacer esto en groovy o una mejor práctica?

¿Fue útil?

Solución

Puede ensamblar todas las partes de sus scripts en una Cadena, luego hacer que un objeto GroovyShell evalúe su script. Tomé esto de los ejemplos de DSL de Venkat Subramanium.

part1 = new File("part1.groovy").text
part2 = new File("part2.groovy").text

script = """
println "starting execution"
${part1}
${part2}
println "done execution"
"""

new GroovyShell().evaluate(script)

Otros consejos

La razón por la que no encuentras esto es porque Groovy está compilado. Su código Groovy se compila en un código de bytes Java que se ejecuta por la JVM junto con cualquier código Java en su aplicación. Esta es la razón por la cual cosas como escribir pruebas unitarias de Groovified para grandes cuerpos de código Java requieren cero esfuerzo adicional.

El BeanShell es un lenguaje interpretado similar a Java, por lo que no es gran cosa sorber otro código en tiempo de ejecución.

Dicho esto, podría estar interesado en groovysh y su cargar comando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top