Ho un'app che mi piacerebbe rendere estendibile consentendo agli utenti di definire le classi in Groovy, eventualmente implementando alcune interfacce.Compilare e utilizzare le classi di Groovy da Java in fase di runtime?
L'aspetto chiave è che deve essere interpretato/compilato in fase di esecuzione. Cioè Ho bisogno della mia app per prendere lo .groovy
e compilarlo. Farlo durante l'avvio è ok.
Quindi, ovviamente, la mia app dovrebbe essere in grado di creare un'istanza di quella classe.
Vedo due soluzioni:
1) Compilare durante l'esecuzione di applicazioni, mettere le classi da qualche parte sul percorso di classe, e poi basta caricare le classi, fingendo erano sempre lì.
2) Un modo più intelligente: chiamare un'API del compilatore e alcune funzioni di caricamento automatico della classe per consentire al mio classloader del sistema di visualizzarle.
Come scegliere l'opzione 2)?
Altre idee?