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 :

[RCP] Fichier manquant lors du build


Sujet :

Eclipse Platform

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Par défaut [RCP] Fichier manquant lors du build
    Bonjour,

    Dans mon projet, j'utilise JDOM pour lire un fichier XML et le récupérer dans un Tree. Lorsque je lance mon projet sous Eclipse, aucun problème tout marche parfaitement.

    Par contre, quand j'essaye de faire une application avec l'export wizard, je n'arrive pas à récupérer mon arbre. A priori, le problème ne vient pas de JDOM mais du fichier XML qui n'est pas récupéré... Et en effet quand je cherche dans les différents dossiers où se trouve l'executable, je n'ai aucune trace de mon fichier XML.

    Mon fichier XML se trouve dans un dossier "xml" au même niveau que "src". J'ai bien coché ce dossier dans plugin.xml dans "binary build" de l'onglet "build".

    J'utilise le code suivant pour récupérer mon fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Bundle bundle = Platform.getBundle("PluginID");
    Path path = new Path("/xml/nom_fichier"); 
    URL url = FileLocator.find(bundle, path, Collections.EMPTY_MAP);
    URL fileUrl = null;
    try {
    	fileUrl = FileLocator.toFileURL(url);
    }
    catch (IOException e) {
                 e.printStackTrace();
    }
    J'ai aussi essayé avec un ClassLoader mais rien à faire... Mon fichier ne se retrouve jamais dans le dossier généré lors du build...

    Si vous auriez ne serait-ce qu'une piste ? Parce que je commence à désepérer ^^

    Merci d'avance

  2. #2
    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
    Est-ce que le fichier que tu cherches se trouve vraiment dans le jar apres l'export?
    Si oui, le probleme vient de la maniere dont tu cherches a le récupérer au runtime.
    Sinon, c'est ton build.properties qui n'est pas bon.

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Par défaut
    Je ne suis pas sûr de voir de quel jar tu parles. En fait quand j'exporte j'ai coché "directory" du coup j'ai directement mon fichier avec les répertoires eclipse et repository.

    Si c'est de ça que tu parles je ne trouvais pas le fichier jusqu'à maintenant ^^ je viens de faire un énième test et je le trouve enfin !
    Pour ceux qui auraient ce problème voilà comment je l'ai réglé, dans le MANIFEST.MF, étant donné que le fichier n'est pas à la racine du projet, il faut l'ajouter au "classpath" (enfin c'est comme ça que je l'ai compris en tout cas), donc il faut ajouter la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Bundle-ClassPath: .,
     lib/jdom.jar,
     xml/nom_fichier
    Bizarrement, quand on utilise l'ajout de fichiers au classpath via l'onglet "runtime" on ne peut ajouter que tout le dossier (et non pas un seul fichier) et après tests si le MANIFEST.MF ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Bundle-ClassPath: .,
     lib/jdom.jar,
     xml/
    ça ne marche pas. Il semblerait qu'il faille importer les fichiers un par un ? Ou alors je suis passé à côté de quelque chose ? ^^ Enfin ça me dépasse un peu cette histoire.

    Toujours est-il que maintenant j'ai mon fichier (youpi) mais ça ne marche toujours pas, donc a priori problème lors de la récupération du fichier. J'avoue que je l'ai faite un peu à l'arrache vu que j'essayais surtout d'avoir le fichier dans mon répertoire, je vais donc me plonger là-dedans et je reviens vers vous si je bloque.

    Merci pour ton aide en tout cas

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Par défaut
    Bon même en le faisant moins à l'arrache je n'y arrive pas ^^. Le fichier est trouvé sans problème quand je lance l'application depuis Eclipse mais dès que j'exporte le projet j'ai une nullPointerException, et en effet quand j'affiche mon chemin il est vide. (j'utilise le code de mon premier message, url est aussi null) en gros il ne trouve pas le fichier quoi...

    Le fichier que je veux lire est dans "eclipse\configuration\org.eclipse.osgi\bundles\27\1\.cp\xml" c'est normal ? Ca me paraît bien compliqué comme chemin ^^

    Des idées ? :p

  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 : 41
    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
    Par défaut
    Salut,

    Quelques vérifications que tu pourrais effectuer:
    • vérifie toutes tes chaines de caractères (plug-in ID, nom du fichier, ...) une faute de frappe est vite arrivé. Surtout pour le plug-in ID, qui est différent du plug-in name !!

    • vérifie aussi le Classpath de ton bundle. Ton MANIFEST.MF doit contenir une entrée pour ton dossier "xml" (ce qui est normalement déjà le cas).

    Code Xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Bundle-ClassPath: .,
     lib/jdom.jar,
     xml/
    • vérifie ton fichier de build (qui est normalement bon aussi). Il doit contenir une entrée dans bin.includes pour ton dossier "xml/"

    Une fois ces vérifications faites, il n'y a pas de raison que ce code ne marche pas :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    final URL[] entries =
        FileLocator.findEntries(Platform.getBundle(PLUGIN_ID),
                new Path("/icons/my_icon.gif"), Collections.EMPTY_MAP);
    System.out.println("Print entries :");
    if (entries != null) {
        for (int i = 0; i < entries.length; i++) {
            System.out.println(entries[i]);
        }
    } else {
        System.out.println("No entries found...");
    }

    Voilà, à+
    Gueritarish

  6. #6
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Par défaut
    Nickel ça marche ! C'était bien un problème lors de la récupération du fichier mais le code que tu m'as donné marche Gueritarish.

    Mickael_Istria => J'ai enfin compris de quel .jar tu parlais lol. Et en effet dans ce .jar le fichier y est même en ne mettant que /xml dans le classpath du build.

    En tout cas merci beaucoup à tous les deux pour votre aide !

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

Discussions similaires

  1. Modification de fichier lors du build
    Par benjibul dans le forum Maven
    Réponses: 1
    Dernier message: 15/07/2012, 21h54
  2. Fichier XML ignoré lors du build
    Par vince29 dans le forum Maven
    Réponses: 9
    Dernier message: 07/06/2012, 11h54
  3. Fichier manquant lors du lancement
    Par cotede2 dans le forum JWS
    Réponses: 2
    Dernier message: 12/11/2009, 10h30
  4. Fichier manquant en utilisant une base de données DBF
    Par Stephane Michaud dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/07/2005, 11h22
  5. Réponses: 33
    Dernier message: 15/10/2004, 16h19

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