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 :

Resource folder dans un JAR exécutable


Sujet :

Langage Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 177
    Points : 106
    Points
    106
    Par défaut Resource folder dans un JAR exécutable
    Bonjour,

    Est-il possible de récupérer le dossier vers le dossier resources (src/main/resources) dans un JAR executable ?

    Le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File folder = new File(getClass().getResource("/").toURI().toString());
    fonctionne dans Eclipse mais une fois packagé en JAR, cela ne fonctionne plus. Apparement, il faut utiliser getResourceAsStream() mais cette méthode est utile pour récupérer un fichier et le lire mais elle ne me semble pas adaptée pour un dossier.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 566
    Points : 21 635
    Points
    21 635
    Par défaut
    Il ne me semble pas que ce soit prévu pour. Pas complètement impossible mais ridiculement compliqué avec de nombreux points d'échec.

    Pour quoi faire accéder à un dossier ? Si c'est pour lister ce qu'il y a dedans, la solution que je retiens d'habitude est de générer un fichier texte qui liste les ressources disponibles, et accéder à ça à la place.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 177
    Points : 106
    Points
    106
    Par défaut
    Une autre solution que j'avais envisagée était de récupérer un fichier et de récupérer le parent.

    Mais ça me semblait assez moche.

  4. #4
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Salut,

    Plusieurs solutions sont possibles, certaines plus contraignantes que d'autres.

    Pre Java 7 d'abord:

    Soit tu as une liste des resources présentes dans ton repértoire listée dans un fichier comme te l'as indiqué thelvin .. reste qu'il faudra tout de même accéder chacune individuellement à coup de getResourceAsStream

    Soit tu explores le jar toi même en utilisant l'API java.util.jar

    Bref pas glop dans les 2 cas.

    Java 7:

    Si j'ai tout bien lu, il y a désormais moyen de naviguer dans un jar comme dans un répertoire, donc avec du bol un getResource te permet désormais de récupérer un répertoire dans le jar et que ton code fonctionne à l'identique que ce soit sous eclipse ou packager en jar.

    Bulbo

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 177
    Points : 106
    Points
    106
    Par défaut
    Ok, merci pour cette réponse.

    Oui je commençais à fouiller dans JarFile.

    Je me garde Java7 sous le coude mais l'idée était que ce soit rétro compatible.

    Merci encore.

Discussions similaires

  1. Comment intégrer un fichier wave dans une Jar exécutable?
    Par HNoury dans le forum Général Java
    Réponses: 7
    Dernier message: 22/08/2008, 22h52
  2. Ouvrir un document Word dans un jar exécutable
    Par CaptainT dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 26/06/2007, 14h07
  3. Images dans un jar exécutable..
    Par wariom dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 11/06/2006, 16h52
  4. [JAR] Accéder à une resource contenue dans un jar
    Par Blo0d4x3 dans le forum Général Java
    Réponses: 4
    Dernier message: 17/02/2006, 08h29
  5. [Jar][Classpath]Pb chargement resource classpath dans un jar
    Par Pill_S dans le forum Général Java
    Réponses: 20
    Dernier message: 01/10/2004, 20h12

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