Question

J'ai parcouru le doc groovy et n'ai pas trouvé d'analogue, mais les choses là-bas sont organisées un peu au hasard. Je suis passé de beanshell à groovy et j'utilisais la méthode source ("fileloc") dans beanshell pour inclure en ligne d'autres scripts utilitaires de beanshell à réutiliser. Existe-t-il une fonction standard permettant de faire cela dans le groovy ou une meilleure pratique?

Était-ce utile?

La solution

Vous pouvez assembler toutes les parties de vos scripts dans une chaîne, puis demander à un objet GroovyShell d'évaluer votre script. Je l'ai tiré des exemples 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)

Autres conseils

Si vous ne trouvez pas cela, c'est parce que Groovy est compilé. Votre code Groovy est compilé dans du bytecode Java qui est exécuté par la machine virtuelle Java à côté du code Java de votre application. C’est pourquoi des tâches telles que l’écriture de tests unitaires Groovified pour de gros corps de code Java ne nécessitent aucun effort supplémentaire.

BeanShell est un langage interprété de type Java. Il n'est donc pas grave de perdre du code dans le code au moment de l'exécution.

Cela étant dit, vous pourriez être intéressé par groovysh et son charger commande.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top