Mam aplikację, którą chciałbym rozszerzyć, pozwalając użytkownikom definiować klasy w Groovy, ostatecznie implementując niektóre interfejsy.Kompilowanie i używanie klas Groovy z Java w czasie wykonywania?
Kluczowym aspektem jest to, że powinien być interpretowany/kompilowany w czasie wykonywania. To znaczy. Potrzebuję mojej aplikacji, aby pobrać .groovy
i skompilować ją. Robiąc to podczas rozruchu jest w porządku.
Następnie, oczywiście, moja aplikacja powinna być w stanie utworzyć instancję tej klasy.
Widzę dwa rozwiązania:
1) Kompilacja natomiast działa aplikacja, umieścić gdzieś na ścieżce klasy klas, a potem po prostu załadować klasy, udając, że były one zawsze.
2) Trochę mądrzejszy sposób - wywołanie kompilatora API i niektórych klasowych magii, aby mój systemowy program ładujący mógł je zobaczyć.
Jak zrobić opcję 2)?
Jakieś inne pomysły?