Libellés

Affichage des articles dont le libellé est script. Afficher tous les articles
Affichage des articles dont le libellé est script. Afficher tous les articles

jeudi 21 juillet 2011

GroovyClassLoader charger et exécuter un Script

Lorsque l'on travaille avec Groovy il est assez facile de charger une classe avec GroovyClassLoader#loadClass

Mais comment faire pour charger et exécuter un script comme celui ci :

[romain@dahu tmp]$ cat MyScript.groovy
println ">>>>>>>>>>>>>>>> It works"
println 10 + 2


En fait c'est assez simple, il suffit de charger la classe, de l'instancier puis de la caster en Script.

[romain@dahu tmp]$ ls
MyScript.groovy Runner.groovy


[romain@dahu tmp]$ cat Runner.groovy
def clazz = this.getClass().getClassLoader().loadClass("MyScript")
def script = (Script) clazz.newInstance()
script.run()


Et ça fonctionne :

[romain@dahu tmp]$ groovy Runner.groovy
>>>>>>>>>>>>>>>> It works
12