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
Vous devez vous connecter pour publier un commentaire.
Ont un coup d'oeil à L'intégration de Groovy dans des applications
Beauté:-
Depuis
.groovy
compile de.class
bytecode, l'analyse de la classe serait de vous donner uninstanceof
Class
. Maintenant, il devient tout monde JAVA, la seule différence, une fois que vous obtenez une cale deGroovyObject
après instantiatiation, vous jouez autour d'invoquer des méthodes sur demande.Edit: Juste donc c'est ici:
et