Domanda

Ci sono altre opzioni oltre Janino per compiliation on-the-fly e l'esecuzione di codice Java in v5? So v6 ha l'API compilatore, ma ho bisogno di lavorare con la VM v5.

I essenzialmente bisogno di prendere una stringa contenente una classe Java completo, compilarlo e caricarlo in memoria.

È stato utile?

Soluzione

Quello che vogliamo è qualcosa di simile a Janino . Abbiamo utilizzato per anni. Si dà (nei pressi di serie) il codice e ti dà le classi in modo da poterli utilizzare. In realtà ha un bel paio di modi diversi e supporta il 1,5 zucchero sintattico e auto-boxe e così via.

Se si chiama javac, non solo si deve essere pronti a tutto lo fa, sarà quindi necessario gestire mettere la classe nel posto giusto o fare un programma di caricamento classe aggiuntiva.

Janino è molto facile. Dovrebbe essere esattamente quello che stai cercando.

Altri suggerimenti

Invocare javac programmaticamente:

http: // www.juixe.com/techknow/index.php/2006/12/12/invoke-javac-at-runtime/

   com.sun.tools.javac.Main javac = new com.sun.tools.javac.Main();  

   String[] options = new String[] 
   {  
      "-classpath", classpath, "-d", outputDir, filename  
   };

   javac.compile(options);

Tutti i server app fanno questo per JSP per sempre, quindi ovviamente è possibile. Acquista il codice sorgente Tomcat forse?

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