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 confirmé
    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
    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 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    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.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    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
    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
    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
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  5. #5
    Membre confirmé
    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
    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