Die Zusammenstellung und der Verwendung von Groovy-Klassen von Java, zur Laufzeit?

Habe ich eine app, die ich gerne erweiterbar, indem Benutzer definieren Klassen in Groovy, schließlich die Umsetzung einige Schnittstellen.

Der wesentliche Punkt ist, dass es sein sollte interpretiert/kompiliert zur Laufzeit. I. e. Ich brauche meine app zu nehmen, die .groovy und kompilieren Sie es. Tut es beim Booten ist ok.

Dann, natürlich, meine app sollte in der Lage sein zu instanziieren dieser Klasse.

Sehe ich zwei Lösungen:

1) Kompilieren, während die app ausgeführt wird, legen Sie die Klassen irgendwo auf classpath, und dann laden Sie einfach die Klassen, die vorgibt, Sie waren immer da.

2) Einige intelligentere Weise - der Aufruf zu einem compiler-API zum laden von Klassen und einige Magie, um mein system-classloader zu sehen.

Wie soll ich das tun option 2)?
Irgendwelche anderen Ideen?

InformationsquelleAutor Ondra Žižka | 2013-06-03

Schreibe einen Kommentar