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

Java Discussion :

compilation à la volée / invocation dynamique


Sujet :

Java

  1. #1
    Membre chevronné Avatar de anitshka
    Inscrit en
    Mai 2004
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 624
    Par défaut compilation à la volée / invocation dynamique
    bonjour,

    je récupère via une méthode retrieveCode un String contenant un morceau de code dans un fichier.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("hello");
    je voudrais pouvoir l'intégrer à la volée dans une classe java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Test {
        public static void main(String[] args) throws Exception {
           System.out.println("start");
           String javaCode = retrieveCode();
           // execution du javaCode ?????
        }
    }
    Avez vous des idées ?
    d'avance !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par anitshka Voir le message
    bonjour,

    je récupère via une méthode retrieveCode un String contenant un morceau de code dans un fichier.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("hello");
    je voudrais pouvoir l'intégrer à la volée dans une classe java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Test {
        public static void main(String[] args) throws Exception {
           System.out.println("start");
           String javaCode = retrieveCode();
           // execution du javaCode ?????
        }
    }
    Avez vous des idées ?
    d'avance !
    Salut,
    SI tu utilises java 6, regarde du côté de JavaCompiler : http://java.sun.com/javase/6/docs/ap...aCompiler.html

    Bonne continuation

  3. #3
    Membre chevronné Avatar de anitshka
    Inscrit en
    Mai 2004
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 624
    Par défaut
    le bout de code a insérer n'est pas une classe mais bien un simple bout de code ...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui mais ta classe résultante si tu veux l'exécuter il faudra bien la compiler à l'exécution du programme, et donc je vois pas comment tu veuux faire sinon.
    Ou alors je n'ai pas compris ton problème

  5. #5
    Membre chevronné Avatar de anitshka
    Inscrit en
    Mai 2004
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 624
    Par défaut
    Citation Envoyé par George7 Voir le message
    Oui mais ta classe résultante si tu veux l'exécuter il faudra bien la compiler à l'exécution du programme, et donc je vois pas comment tu veux faire sinon.
    Ou alors je n'ai pas compris ton problème
    Classe résultante ? Test.java ?

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par anitshka Voir le message
    Classe résultante ? Test.java ?
    Oui, par exemple.
    Soit tu insères le code dans une classe, puis tu la compiles, soit tu interprètes le code toi même sans passer par une compilation.
    Cependant, comment vas-tu gérer les différentes versions de tes compilations ? Tu ne pourras pas compiler deux fois de suite Test.java pour faire cohabiter deux versions différentes. Es-tu vraiment sûr de vouloir faire de la compilation dynamique ?
    Bien souvent, le besoin est mal interprété.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Sinon tu as toujours la possibilité de manipuler le bytecode d'une classe au runtime, mais on arrive à un autre niveau avec l'utilisation de librairies telles que BCEL, Javassist ou encore ASM.

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/03/2008, 15h30
  2. invocation dynamique et type Any
    Par voyageur dans le forum CORBA
    Réponses: 1
    Dernier message: 02/05/2007, 10h10
  3. Réponses: 3
    Dernier message: 24/08/2005, 14h45
  4. Invocation dynamique - Debug
    Par poinclin dans le forum CORBA
    Réponses: 3
    Dernier message: 24/05/2004, 15h34
  5. Java et invocation dynamique
    Par poinclin dans le forum CORBA
    Réponses: 3
    Dernier message: 24/05/2004, 13h19

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