Domanda

sto per iniziare a sviluppare una piccola applicazione Java Desktop. L'applicazione è solo un motore per cui l'utente fornisce classi Java per fare il lavoro (traducendo dall'ingresso all'uscita).

Vorrei all'utente di fornire le classi Java effettivi come file che possono essere caricati (e ricaricato) al volo.

Per questo particolare uso, v'è alcuna ragione per cui Java sarebbe più ingombrante di Groovy o Beanshell? Io non sto chiedendo per un confronto di Groovy / Beanshell e Java come ci sono molti. Piuttosto, voglio sapere se è più facile da caricare dinamicamente classi Groovy o BeanShell da file , rispetto a Java.

Per Java 1.6, è la JavaCompiler il modo migliore per caricare dinamicamente il codice? Vorrei utilizzare tutte le caratteristiche del linguaggio e quindi penso Janino è fuori. Inoltre, eventuali problemi con ricarico?

Nota: Ho visto questo e questo , ma non sono sicuro che rispondere alla mia domanda.

È stato utile?

Soluzione

JavaCompiler è molto versatile, ma comporta un minore, potenziale problema di configurazione: In javax.tools , ToolProvider.getSystemJavaCompiler () identifica la classe del compilatore come com.sun.tools.javac.api.JavacTool. Su alcune piattaforme, che la classe non è parte della JRE; un JDK sembra essere necessaria. Ecco un esempio .

javax.script , discusso qui . Diversi supportate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top