Compiler et utiliser des classes Groovy de Java à l'exécution?

J'ai une application que je voudrais faire extensible en permettant aux utilisateurs de définir des classes en Groovy, finalement, la mise en œuvre de certaines interfaces.

L'aspect clé est qu'il doit être interprété/compilé au moment de l'exécution. I. e. J'ai besoin de mon application pour prendre la .groovy et le compiler. Le faire pendant le démarrage est ok.

Puis, bien sûr, mon application doit être en mesure d'instancier cette classe.

Je vois deux solutions:

1) de la Compilation, tandis que l'application s'exécute, mettre les classes de quelque part sur le chemin de classe, et puis il suffit de charger les classes, prétendre qu'ils étaient toujours là.

2) une façon plus intelligente - appelant un compilateur API et certains classloading magie de laisser mon système de chargeur de classe les voir.

Comment faire l'option 2)?
D'autres idées?

source d'informationauteur Ondra Žižka