Question

Y a-t-il des autres options que Janino pour le à la volée et l'exécution de compilation du code Java en v5? Je sais que v6 a l'API du compilateur, mais je dois travailler avec la machine virtuelle v5.

Je dois essentiellement une chaîne de caractères contenant une classe complète de Java, le compiler et le charger dans la mémoire.

Était-ce utile?

La solution

Qu'est-ce que vous voulez est quelque chose comme Janino . Nous l'avons utilisé pendant des années. Vous donnez (près standard) code et il vous donne les classes afin que vous puissiez les utiliser. Il a en fait assez peu de modes différents et soutient le 1,5 sucre syntaxique et auto-boxing et autres.

Si vous appelez javac, non seulement vous devez être prêt pour tout ce qu'il fait, vous devrez alors gérer de mettre la classe au bon endroit ou faire un classloader supplémentaire.

Janino est très facile. Il devrait être exactement ce que vous recherchez.

Autres conseils

Invoquer javac programatically:

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);

Tous les serveurs d'applications font pour JSP pour toujours, si évidemment il est possible. Code source Commander tomcat peut-être?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top