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 :

IResource, IWorkspace, besoin d'informations


Sujet :

Eclipse Platform

  1. #1
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 350
    Points
    4 350
    Par défaut IResource, IWorkspace, besoin d'informations
    Bonjour,

    je développe un plugin Eclipse.
    J'ai quelques soucis avec les objets IResource, IWorkspace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IPath ipath = new Path(path);
    IFile res = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(ipath);
    getWorkspace me renvoie le workspace en cours, et normalement getFileForLocation devrait me renvoyer un IFile, à condition que le ipath représente un fichier de mon workspace.

    Or, le IFile res se retrouve avec un device égal à "null", alors que mon fichier est sur le disque D: (et plus tard ça plante).
    Dans le IPath ipath, le device est bien présent, avec D: et non pas null.

    Pourquoi, et que faire ?

    Merci pour votre aide.
    http://www.traducteur-sms.com/ On ne sait jamais quand il va servir, donc il faut toujours le garder sous la main

  2. #2
    Membre habitué Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Points : 193
    Points
    193
    Par défaut
    Bonjour,

    Peux-tu essayer CCorePlugin.getWorkspace() au lieu de ResourcesPlugin.getWorkspace() ?
    Sinon es-tu sur que ton path pointe bien sur un fichier existant ?

    a+

  3. #3
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Citation Envoyé par ManusDei Voir le message
    getWorkspace me renvoie le workspace en cours, et normalement getFileForLocation devrait me renvoyer un IFile, à condition que le ipath représente un fichier de mon workspace.
    C'est là que tu te trompes. Si on regarde la javadoc:
    Citation Envoyé par Javadoc
    Returns a handle to the file which is mapped to the given path in the local file system, or null if none. The path should be absolute; ...
    This method returns null when the given file system location is not under the location of any existing project in the workspace.
    Deux choses importantes donc:
    • Le chemin doit être absolu dans le file system.
    • Ton fichier doit donc être dans un projet dans ton workspace. Attention, le workspace du runtime ne correspond pas à celui du développement.

    Donc, si dans ton workspace "courant" tu as un projet "Test" qui a un fichier Java dans "src/package/Test.java", tu n'y auras pas accès au runtime.
    Ce qu'il va se passer, c'est que quand tu vas lancer une exécution, il va te créer un workspace de runtime (généralement runtime-Nom_Configuration) au même niveau que ton workspace courant.
    Donc, si tu veux faire des tests de présence de fichier, il te faut copier (ou créer) des projets et des dossiers dans ce workspace d'exécution.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  4. #4
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 350
    Points
    4 350
    Par défaut
    Bonjour,

    CCorePlugin.getWorkspace() me renvoie effectivement un path utilisable, merci.
    Egalement, est-ce que vous pourriez me donner un lien vers la javadoc de CCorePlugin, si vous savez où elle est ? Je n'ai pas réussi à la trouver.

    @Guetarish : J'avais déjà remarqué que le workspace du runtime n'était pas le même que celui du développement (mais c'est pas évident au début).
    http://www.traducteur-sms.com/ On ne sait jamais quand il va servir, donc il faut toujours le garder sous la main

  5. #5
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Attends, du coup, tu rajoutes une dépendance vers le plug-in CDT juste pour avoir ton IFile alors que l'API normale de org.eclipse.core.resources fonctionne très bien?
    Je comprends pas le but là
    T'en as besoin autre part?
    Pas de questions technique par MP, les forums sont là pour ça.

  6. #6
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 350
    Points
    4 350
    Par défaut
    En fait non, j'ignore pourquoi, mais maintenant ResourcesPlugin.getWorkspace() me permet de récupérer un chemin utilisable.
    http://www.traducteur-sms.com/ On ne sait jamais quand il va servir, donc il faut toujours le garder sous la main

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

Discussions similaires

  1. Besoin d'information sur les téléafficheurs
    Par vallica dans le forum Windows
    Réponses: 5
    Dernier message: 16/08/2006, 15h22
  2. Besoin d'informations a propos de Quality Workbench
    Par charleshbo dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 16/02/2006, 15h40
  3. [xmlrad] besoin d'information svp
    Par ekmule dans le forum XMLRAD
    Réponses: 7
    Dernier message: 20/01/2006, 14h33
  4. besoin d'information sur le Streaming
    Par Dnx dans le forum Windows
    Réponses: 1
    Dernier message: 28/10/2005, 15h04
  5. [Rave][Delphi][Base SQL] besoin d'informations
    Par David Altech dans le forum Rave
    Réponses: 1
    Dernier message: 30/07/2003, 13h59

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