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

Langage Java Discussion :

Fichier XML dans un jar


Sujet :

Langage Java

  1. #1
    Membre actif Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Points : 228
    Points
    228
    Par défaut Fichier XML dans un jar
    Bonjours,
    J'ai vu que cette question avait déjà été posé quelques fois mais j'ai pas vu de solutions qui permettent de résoudre mon problème.

    J'ai fais une application qui lit dans un fichier XML pour la configuration, lorsque je lance mon application depuis Eclipse, je n'ai aucun problème, et lorsque je lance mon application depuis un jar (généré avec fatjar), il ne trouve pas le fichier :
    Y:\Workspaces\Francois\Application\file:\Y:\Workspaces\Francois\Application\Application.jar!\org\Application\configuration\configuration.xml (Le chemin spécifié n'est pas valide)
    class java.io.FileNotFoundException
    Pour info il ne suffit pas d'utilisé getClass().getResource(...) puisque c'est ce que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File xml = new File(getClass().getResource("configuration.xml").getFile());
    Quelqu'un saurait-il comment résoudre mon problème ?
    Tout passe, tout casse
    Le joint le cul lassent...


    http://www.myspace.fr/geampa_raler

  2. #2
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    Il faut que tu lui balances le chemin de ton fichier à l'intérieur du jar, pas juste son nom !
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  3. #3
    Membre actif Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Points : 228
    Points
    228
    Par défaut
    Citation Envoyé par Rayndell
    Il faut que tu lui balances le chemin de ton fichier à l'intérieur du jar, pas juste son nom !
    Je ne balance pas juste le nom mais le chemin complet avec getClass().getResources(...) (le fichier XML se trouve dans le même package que la classe qui l'appelle)
    Tout passe, tout casse
    Le joint le cul lassent...


    http://www.myspace.fr/geampa_raler

  4. #4
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    La classe File représente des fichiers accessible sur le système local, mais ne peut en aucun cas représenter des fichiers distants ou des fichiers à l'intérieur d'archives comme dans ton cas...

    Si tu veux simplement lire le fichier tu n'a en aucun cas besoin d'utiliser File. Tu dois utiliser directement l'InputStream de l'URL ou la méthode getResourceAsStream()...

    a++

  5. #5
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Bonjour,

    Tout depend ce que tu veux faire du fichier.
    getClass().getResource("configuration.xml") renvoie l'URL du fichier.

    ton problème vient sans doute du new File(..toFile());

    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File xml = new File(getClass().getResource("configuration.xml").toURI());

  6. #6
    Membre actif Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Points : 228
    Points
    228
    Par défaut
    Citation Envoyé par adiGuba
    Si tu veux simplement lire le fichier tu n'a en aucun cas besoin d'utiliser File. Tu dois utiliser directement l'InputStream de l'URL ou la méthode getResourceAsStream()...
    C'est vrai ça marche tout de suite mieux

    Merci beaucoup
    Tout passe, tout casse
    Le joint le cul lassent...


    http://www.myspace.fr/geampa_raler

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 200
    Points
    200
    Par défaut
    Bonjour,

    J'ai à peu pres un problème similaire sauf que j'arrive à lire le fichier XML qui est dans mon JAR, Par contre moi je voudrais le modifier.

    J'utilise (dom4j) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    XMLWriter writer = new XMLWriter(new FileWriter(getClass().getResource("/hibernate.cfg.xml").toString, false));
    writer.write( "Flux XML sous forme de Document.class");
    writer.close();
    Quelque soit ce que je met : .toURL, .toURI ...

    Il me met une erreur disant que le chemin n'existe pas.

    Lecture du XML -> OK
    Ecriture du XML -> pas OK

    merci d'avance,

    @+

  8. #8
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    On ne peut pas modifier un fichier à l'intérieur d'un jar...

    a++

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 200
    Points
    200
    Par défaut
    LOL,

    C'est clair, net et concis,

    Merci,

    @+

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

Discussions similaires

  1. fichier xml dans un jar executable
    Par docv266 dans le forum Langage
    Réponses: 5
    Dernier message: 06/08/2007, 18h13
  2. Lecture fichier XML dans JAR
    Par boutss dans le forum Format d'échange (XML, JSON...)
    Réponses: 15
    Dernier message: 06/06/2007, 17h37
  3. [JAR] Comment écrire dans un fichier properties dans un jar
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/10/2004, 15h16
  4. [XSLT] Visualisation d'un fichier xml dans un jEditorPane
    Par Yannos94 dans le forum Format d'échange (XML, JSON...)
    Réponses: 16
    Dernier message: 09/01/2004, 17h50
  5. utilliser un autre fichier xml dans un xsl
    Par New Bee dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/04/2003, 10h55

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