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

Entrée/Sortie Java Discussion :

Classpath vers jar


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut Classpath vers jar
    Bonjour,

    J'ai créé un jar avec Eclipse. J'ai un dossier images dans mon jar et j'aimerais savoir quelle classpath je dois mettre dans mon fichier manifest (si c'est bien un problème de claspath) pour que si j'appelle une image comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new ImageIcon("Images/monimage.GIF");
    je puisse atteindre mon Images.

    PS : si ma classpath est ./, je peux atteindre l'image dans un dossier image externe au jar mais pas interne.

    Merci

  2. #2
    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,


    ImageIcon(String) n'utilise pas le classpath, mais attend un chemin de fichier (absolu ou relatif au répertoire courant).

    Si tu veux utiliser le classpath, il faut utiliser getResource() pour récupérer les infos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Chemin relatif par rapport à "MaClasse" :
    new ImageIcon(MaClasse.class.getResource("Images/monimage.GIF")); 
     
    // Chemin absolu :
    new ImageIcon(MaClasse.class.getResource("/Images/monimage.GIF"));
    Et attention au minuscule/majuscule qui ont une grande importance dans un jar...

    a++

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut
    Merci pour ces réponses.

    Mais quand je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = new ImageIcon(FenetreDAcceuil.class.getResource("Images/image gauche.PNG"));
    Je ne peux à nouveau pas atteindre mon image si elle est à l'interieur du jar pourtant, dans le jar, le dossier image est au même endroit que ma classe.

    Cependant, lorsque j'utilise un dossier dans le répertoire courant, ca marche. Peut-être qu'il faut faire pointer la classpath dans le jar et non dans le répertoire courant mais je ne sais pas comment faire.

  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
    Que contient ton jar exactement ???

    a++

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Je ne sais plus si les espaces sont tolérés comme faisant partie d'un nom au sein d'un jar. Si ce n'est pas le cas, je crois qu'on a trouvé l'erreur...

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut
    Merci de vos réponses

    Mon jar s'appelle GloriaFinisEssedenda_fat.jar.
    Il contient tous mes .class, tous mes .java, et mes dossiers Images, Musique, Documents, META-INF et aussi d'autres dossiers( J'ai fait le jar d'éclipse avec le plugin fat jar et je ne sais pas très bien à quoi ils servent) : common, javazoom et jxl. Javazoom me permet de lire de la musique et jxl pour lire les documents excels. NB: Cependant il n'y a pas de problèmes avec jxl et javazoom.

    PS:Je crois pas que c'est à cause de l'espace car ça ne marche pas non plus avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = new ImageIcon(FenetreDAcceuil.class.getResource("Images/curseur.GIF"));
    dommage

  7. #7
    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
    Si tu préfères :
    • Où se trouve le fichier FenetreDAcceuil.class dans ton jar ?
    • Où se trouve le fichier curseur.GIF dans ton jar ?


    Le tout en faisant bien attention aux minucules/majuscules...

    a++

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut
    FenetreDAcceuil.class est à la racine de mon jar et curseur.GIF est dans le dossier Images.

  9. #9
    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
    Et sous eclipse cela fonctionne ou pas ?

    a++

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 55
    Points : 48
    Points
    48
    Par défaut
    Salut,

    oui, avec éclipse ca fonctionne avec "run"

Discussions similaires

  1. Exportation vers Jar d'une Appli avec SQLite
    Par lemzo84 dans le forum JDBC
    Réponses: 3
    Dernier message: 13/11/2012, 17h07
  2. TOS 4.1.2 vers TOS 5.0.1 problème exécution sous UNIX - classpath.jar
    Par marconimo dans le forum Installation, migration et administration
    Réponses: 0
    Dernier message: 24/02/2012, 12h09
  3. Classpath et jar file
    Par vinzzzz dans le forum Général Java
    Réponses: 13
    Dernier message: 15/01/2010, 09h46
  4. Problème d'exportation vers JAR exécutable
    Par youness78 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 16/11/2009, 11h24
  5. Exportation de projet Java, classpath et jars
    Par kalash_jako dans le forum Général Java
    Réponses: 5
    Dernier message: 09/12/2008, 20h39

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