IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[Langage] Générer du code Java et le compiler à la volée


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Points : 37
    Points
    37
    Par défaut [Langage] Générer du code Java et le compiler à la volée
    Bonjour,

    J'ai une application Java qui tourne et qui génère du code java.

    La question est :

    Comment pouvoir compiler ce code et l'exécuter par la suite.

    J'ai pensé au compilateur du jdk com.sun.tools.javac.Main, mais je suis obligé de créer mon propre ClassLoader pour récupérer la classe compilée.

    En gros, ce que je cherche à savoir, si il existe un moyen de faire comme suit :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    String code ="public class myClass { ";
            code +="int i;";
            code +="public void myMethod() {";
            ......
            code +="}";
     
    Object obj = SuperCompiler.getInstance(code);
    Merci pour vos réponse

  2. #2
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    mets ton code dans un fichier .java et ensuite tu peux executer la commande de compilation (dans du code java)...
    je ne vois d'autre methode à moins d'écrire un compilateur java en java mais c'est quoi l'intéret?
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  3. #3
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Pourquoi ne pas utiliser ASM (utilisé dans CGLIB lui même utilisé dans Hibernate) pour générer directement du bytecode ? (résultat de la compilation du code java)
    Voila un tutorial récent.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 35
    Points : 37
    Points
    37
    Par défaut
    Merci dlemoing pour ta réponse, ASM (et ses semblables BCEL et SERP) semble être une bonne piste, un peu compliquée mais ç avaux le coup d'y jeter un coup d'oeil

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code Java qui ne compile pas
    Par bawilar dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 03/11/2009, 09h25
  2. Générer du code Java à partir de Protégé
    Par lahmar.abdel1 dans le forum Ontologies
    Réponses: 0
    Dernier message: 20/07/2009, 15h35
  3. code java qui ne compile pas
    Par donny dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 19/07/2009, 20h06
  4. Squirrel + MySQL: Comment générer le code Java?
    Par Nico820 dans le forum Outils
    Réponses: 1
    Dernier message: 19/11/2008, 07h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo