[JAVA] Créer du code dynamiquement

Créer du code dynamiquement [JAVA] - Java - Programmation

Marsh Posté le 11-03-2004 à 09:15:20    

Salut à tous.
 
 
J'ai un programme java qui fonctionne. Et je voudrais que ce programme une fois lancé, crée des classes à la volée.
Mon programme doit générer du code java, qu'il compile pour en faire un .class qu'il peut utiliser ensuite.
 
Avez vous des pistes ?

Reply

Marsh Posté le 11-03-2004 à 09:15:20   

Reply

Marsh Posté le 11-03-2004 à 09:29:44    

Reply

Marsh Posté le 11-03-2004 à 17:53:41    

Reply

Marsh Posté le 11-03-2004 à 18:02:33    

Tu peux utiliser javac avec un truc du genre com.sun.tools.javac.Main.compile(String code). fais une recherche là-dessus.
 
EDIT : http://www.rgagnon.com/javadetails/java-0039.html


Message édité par R3g le 11-03-2004 à 18:05:24

---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 11-03-2004 à 18:29:58    

ce serait bien que sun se décide a offrir une API de compilation à java [:benou]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-03-2004 à 18:40:08    

benou a écrit :

ce serait bien que sun se décide a offrir une API de compilation à java [:benou]

si le compilo derrière est écrit en C, c'est jouable  :whistle: jikes powa

Reply

Marsh Posté le 11-03-2004 à 18:42:35    

Taz a écrit :

si le compilo derrière est écrit en C, c'est jouable  :whistle: jikes powa


hein ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-03-2004 à 18:43:36    

Taz a écrit :

si le compilo derrière est écrit en C, c'est jouable  :whistle: jikes powa

il dit qu'il voit pas le rapport.


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 11-03-2004 à 18:44:42    

non, non, j'arrête mes blagues. générer du code dynamiquement et avoir une api de compilation, ça vaut le coup, mais des bonnes performances. et la je trouve que javac est une implémentation trop lente à bon gout :/

Reply

Marsh Posté le 11-03-2004 à 18:47:04    

Taz a écrit :

non, non, j'arrête mes blagues. générer du code dynamiquement et avoir une api de compilation, ça vaut le coup, mais des bonnes performances. et la je trouve que javac est une implémentation trop lente à bon gout :/


moi je parlais d'une API ... peu importe l'implémentation qu'il y aurait derrière. Ce qui m'intéresse c'est la possibilité de pourvoir le faire, autrement qu'avec cette daube de Javac.main :/


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-03-2004 à 18:47:04   

Reply

Marsh Posté le 11-03-2004 à 18:47:49    

Taz a écrit :

non, non, j'arrête mes blagues. générer du code dynamiquement et avoir une api de compilation, ça vaut le coup, mais des bonnes performances. et la je trouve que javac est une implémentation trop lente à bon gout :/

Faut voir ca dépend des utilisations. J'ai jamais utilisé jikes ; il y a une grosse différence de perfs avec javac ?


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 11-03-2004 à 18:49:08    

énorme

Reply

Marsh Posté le 11-03-2004 à 18:49:44    

R3g a écrit :

Faut voir ca dépend des utilisations. J'ai jamais utilisé jikes ; il y a une grosse différence de perfs avec javac ?


d'après ce que j'en ai entendu, ca dépend du type de programme : dans la plupart des cas il est plus rapide (le lancement du prog de compilation est immédiat contrairement à javac), mais il parait que sur certains gros projet il devient plus lent et va même jusqu'à planter (dixit cherrytree si je me souviens bien)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-03-2004 à 18:51:14    

Dans tous les cas, quand tu utilises un IDE correct (ex eclipse), la compilation est quasi immédiate puisqu'elle se fait au fur et à mesure ... Pour eclipse, c'est à chaque sauvegarde de fichier et c'est presque instantané


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-04-2004 à 10:41:36    

benou a écrit :


moi je parlais d'une API ... peu importe l'implémentation qu'il y aurait derrière. Ce qui m'intéresse c'est la possibilité de pourvoir le faire, autrement qu'avec cette daube de Javac.main :/


 
Si t'es un caribou, tu peux utiliser des API de manipulation de bytecode.
Tu pourrais générer directement des .class
 
http://jakarta.apache.org/bcel/index.html
 

Reply

Marsh Posté le 16-04-2004 à 22:28:56    

Si tu veux un truc simple pour éxecuter du code que ton programme génère, il y a beanShell. Il interprete des scripts java, tu peux lui passer des objets qui seront ainsi accessibles depuis les scripts et récupérer des objets modifiés par ceux-ci.
http://www.beanshell.org/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed