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

Aucun commentaire:

Enregistrer un commentaire