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

Eclipse Platform Discussion :

Obtenir un ICompilationUnit à partir d'un chemin de fichier


Sujet :

Eclipse Platform

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut Obtenir un ICompilationUnit à partir d'un chemin de fichier
    Bonjour à tous,

    J'essaye d'obtenir quelque chose qui paraît facile : obtenir un ICompilationUnit à partir d'un chemin de fichier mais je n'y arrive pas.

    J'ai trouvé sur le Net une librairie dont j'ai besoin et qui prend en paramètre un objet de type ICompilationUnit (qui est censé pointer sur un fichier).

    Et je m'efforce de trouver une façon d'obtenir cet objet à partir du chemin d'un fichier par diverses manières mais sans succès :

    Voici mon dernier essai :


    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String modelPath = "/TestFiles/Test.java";
    IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(modelPath));
     
    ICompilationUnit compilationUnit = (ICompilationUnit)JavaCore.create(file);
     
    ASTArticleMoveVariableDeclaration AstTest = new ASTArticleMoveVariableDeclaration();
     
    AstTest.run(compilationUnit);
    mais j'obtiens une exception : "Workspace closed" quand il arrive sur ResourcePlugin.getWorkspace...

    En fait je pense que je n'ai pas besoin de cette syntaxe pour obtenir un ICompilationUnit.

    Je veux simplement utiliser la library sans forcément créer de PlugIn.

    Sauriez vous comment faire ?

    Merci beaucoup d'avance.

    Laurent.

  2. #2
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Bonjour laurent,

    Tu n'arriveras pas a utiliser JDT si tu ne fais pas de plugin.
    En cherchant sur le web, j'ai trouve Janino qui apperment est capable d'obtenir un compilation UNit :

    // Read the compilation unit from Reader "r" into memory.
    Java.CompilationUnit cu = new Parser(new Scanner(fileName, r)).parseCompilationUnit();

    // Manipulate the AST in memory.
    // ...

    // Convert the AST back into text.
    UnparseVisitor.unparse(cu, new OutputStreamWriter(System.out));
    mais je ne connais pas, je ne sais pas ce que ca vaut.

    Angelo

  3. #3
    Membre Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 479
    Par défaut
    Si si c'est possible d'utiliser JDT en dehors d'Eclipse. Pas mal de projet qui generent du code l'utilisent pour pouvoir marcher sur une JRE plutot qu'une JDK. C'est le mode "batch" de JDT.
    Par contrre, dans ce mode, il n'est pas question de ICompilationUnit, c'est juste un compilo.

    En Googlant "JDT batch" tu pourra trouver des trucs.
    Bonne chance!

  4. #4
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Si si c'est possible d'utiliser JDT en dehors d'Eclipse.
    Je suis vraiment desole d'avoir affirmer le contraire. Je ne savais pas que l'on pouvait faire ca.

    Merci Mickael_Istria, de m'avoir corrigé et de m'avoir appris cette info.

    Angelo

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut
    Merci beaucoup à vous deux et désolé du retard,

    Je vais utiliser vos suggestions.

    Laurent.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/06/2013, 01h47
  2. Réponses: 9
    Dernier message: 28/04/2010, 16h47
  3. [RegEx] Regex d'extraction d'une chaine à partir d'un chemin de fichier
    Par cryosore dans le forum Langage
    Réponses: 1
    Dernier message: 07/03/2010, 20h47
  4. Obtenir un ICompilationUnit à partir d'un chemin de fichier
    Par laurent_diep dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 11/05/2009, 20h49
  5. Obtenir le répertoire à partir du chemin d'un fichier
    Par gege2061 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/09/2008, 13h49

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