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

Java Discussion :

Chemin dun fichier et Class Path lors de la creation dun JAR


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Par défaut Chemin dun fichier et Class Path lors de la creation dun JAR
    Bonjour,

    Je rencontre un probleme pour que mon application contienne une icone, une fois que l'appli est sous forme de Jar.

    Voici l'arbo de mon projet Java (sous Eclipse Ganymede):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    + projet
      - icon.png
      + src
        + pack1
           - classe1.java
        + pack2
           - classe2.java
        + pack3
           - classe3.java
    Dans classe1.java, je fais appel a l'icone comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return ( new ImageIcon("icon.png") );
    Notez que je ne specifie pas le chemin de icon.png, et qu'il est place a la racine du projet.

    Lorsque je lance l'appli avec l'EDI, ca marche bien et j'ai bien mon icone dans l'appli.

    Ensuite, je cree un Jar avec le plugin Fat Jar d'Ecplise (celui-ci cree automatiquement le MANIFEST) et dans la boite de dialogue Class Path je ne met rien (il n'y a rien par default).

    Le Jar se cree tres rien a la racine de mon projet. Lorsque je le lance, pas de probleme, l'icone apparait bien.

    Mais quand je deplace mon fichier Jar, ou que je renomme le repertoire du projet, l'icone n'apparait plus. Il va sans dire que je voudrais qu'il apparraisse, afin que mon appli soit totalement portable en depit du PC sur lequel on l'utilise, et donc que l'icone soit correctement inclue dans le Jar.

    Il me faut donc:
    - specifier un meilleur chemin pour mon icone?
    - modifier mon Class Path du MANIFEST lors de la creation du Jar?
    - deplacer icon.png?

    Apres plusieurs essais et de grosses recherches, je n'y arrive toujours pas...

    Merci de me donner vos idees,

    Dazdh

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Pour que ton application puisse affichée l'image, il faut qu'elle soit dans le même dossier que le fichier jar.
    La solution la moins encombrante est de mettre le l'image dans le jar, comme ça tu n'aura plus à trainer d'autres fichiers avec le jar.

    Pour avoir le fichier dans le jar, cree dans le dossier src de ton projet, un dossier images et place l'image dans ce dossier.
    Et pour acceder à ce fichier depuis le jar, tu peux proceder comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return new ImageIcon(this.getClass().getResource("images/icon.png"));

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/01/2011, 14h43
  2. chemin vers fichiers/répertoire dans une classe
    Par Xunil dans le forum Langage
    Réponses: 5
    Dernier message: 13/04/2007, 10h14
  3. Comment obtenir le chemin du fichier class ?
    Par Elbarto dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 16/11/2005, 10h37
  4. Réponses: 10
    Dernier message: 24/10/2005, 16h37
  5. [JAR]Class-Path dans le fichier Manifest
    Par Kleb dans le forum Général Java
    Réponses: 5
    Dernier message: 08/01/2005, 08h51

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