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

AWT/Swing Java Discussion :

getClass().getRessource() ne fonctionne pas dans le .jar


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 45
    Points
    45
    Par défaut getClass().getRessource() ne fonctionne pas dans le .jar
    Bonsoir à tous !

    J'ai un problème qui est en passe de m'énerver très fort.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon icon = new ImageIcon(getClass().getResource("../ressources/white_ncbi.jpg"))
    Ceci marche trèèès bien dans Netbeans mais pas dans le .jar...

    Or, j'utilise très souvent cette manière de fonctionner. Si quelqu'un avait une méthode qui fonctionne à chaque fois pour récupérer un FICHIER à partir de son emplacement, cela m'arrangerait beaucoup.

    Voilà, c'est tout

    Merci à vous !

    Louise

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bonsoir,

    Au lieu de faire un ../ utilise plutôt le chemin depuis la racine du classpath.
    Genre si org.toto.machin est le package contenant le sous package ressources (donc que tes images sont dans org.toto.machin.ressources)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImageIcon icon = new ImageIcon(getClass().getResource("/org/toto/machin/ressources/white_nobi.jpg"));
    Marchera correctement.
    Pour ce genre d'opérations le .. est plutôt une source de problème qu'autre chose.

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Et attention à ne jamais utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getClass().getResource(...)
    avec un chemin relatif. Si le getResources est appelé sur un getClass, le chemin doit toujours commencer par '/', sinon, gare aux surprises...

  4. #4
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Je vous remercie, cela m'enlève une épine du pied

    Bonne journée !

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

Discussions similaires

  1. fonctionne sous eclipse mais pas dans un jar
    Par lionel.barrere dans le forum JPA
    Réponses: 3
    Dernier message: 28/01/2010, 14h48
  2. [FTP] fopen qui ne fonctionne pas dans tous les contextes ..
    Par Christophe Charron dans le forum Langage
    Réponses: 6
    Dernier message: 15/06/2006, 10h25
  3. Réponses: 3
    Dernier message: 26/01/2006, 13h11
  4. La fonction CurrentDb() ne fonctionne pas dans une requête
    Par Sébastien Le Goyet dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2005, 17h46
  5. Réponses: 1
    Dernier message: 27/10/2005, 21h48

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