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

API standards et tierces Java Discussion :

[JSE6] Compiler à partir d'une String


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Mucho
    Inscrit en
    Décembre 2005
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 221
    Par défaut [JSE6] Compiler à partir d'une String
    Salut,

    j'essaye de compiler au runtime une classe sous forme de String grâce à l'API compiler du jdk6 et la classe JavaObjectFromString (décrite dans la javadoc)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import java.net.URI;
    class JavaObjectFromString extends SimpleJavaFileObject{
        private String contents = null;
    public JavaObjectFromString(String className, String contents) throws Exception{
        		super(new URI(className), Kind.SOURCE);
    this.contents = contents;
        }
    public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
        		return contents;
        }
    }
    Mon problème est quand je lance la compilation il me renvoie l'erreur suivante :

    Citation Envoyé par JavaCompiler
    ...
    MaClasseACompiler:10: class MaClasseACompiler is public, should be declared
    in a file named MaClasseACompiler.java
    ...
    Ce qui est comprehensible puisque je le compile à partir d'une chaîne de caractère et non d'un fichier, mais du coup je suis bien embêté

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,



    L'URI de SimpleJavaFileObject doit correspondre au nom du fichier source, et donc dépend de ta code. Bref si ta classe se nomme Test alors le "className" doit valoir "Test.java" (en fait ce serait plutôt un "sourceName" que "className")

    a++

  3. #3
    Membre confirmé Avatar de Mucho
    Inscrit en
    Décembre 2005
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 221
    Par défaut
    Ok, merci

    effectivement je lui passait juste Test (d'où le className) et non Test.java

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/03/2006, 09h06
  2. Réponses: 6
    Dernier message: 18/01/2006, 16h26
  3. Réponses: 4
    Dernier message: 07/01/2006, 18h36
  4. Récupérer des floats à partir d'une string
    Par hamster dans le forum SL & STL
    Réponses: 8
    Dernier message: 09/06/2005, 08h10
  5. [DOM] Comment creer un DOM à partir d une String
    Par RolandB dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 24/04/2005, 18h11

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