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 :

fichiers archive .jar


Sujet :

Langage Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 214
    Points : 115
    Points
    115
    Par défaut fichiers archive .jar
    Slt, je viens de lire pleins de tutos pour rendre son programme executable d'un simple clic!!! sur developper.com et avec tous, j'ai la même erreur. Il ne trouve pas la class main...

    Mon programme tourne trés bien sous Eclipse (le code est donc bon). J'ai fait avec la ligne de commande puis avec Eclipse (tjs la même erreur...). J'ai décompréssé le .jar généré par Eclipse et je me suis paerçoit que dans le fichier MANIFEST.MF, on ne trouve que :

    Manifest-Version: 1.0

    et pas le chemin vers le main (pourtant, j'ai dit à la fin à eclipse quelle était la classe avec le main...)

    J'ai essayé plus d'une vingtaine de fois, si quelqu'un a une suggestion, je suis preneur!!!

    Merci d'avance!!!

  2. #2
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Indiquer la classe main à Eclipse c'est dans une config d'exécution ou dans l'assistant d'export vers un JAR ? Dans l'assistant d'export, précise la classe contenant le main et demande à Eclipse de sauvegarder le MANIFEST dans ton workspace.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 214
    Points : 115
    Points
    115
    Par défaut
    Effectivement, ça marche bien!!! merci beaucoup!!!

    Par contre, il ne me trouve pas mes images que j'ai mises dans le dossier images/ à la racine du .jar et j'ai mis des chemins relatifs genre images/monimage.jpg

    par contre, si je mets le fichier images à la racine du disque dur, et que je mets un chemin absolu, ça marche...

    est-ce normal??

    Merci d'avance:!!!

  4. #4
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Il ne faut pas utiliser la même méthode pour charger des fichiers inclus dans une archive java et des fichiers externes.
    Pour les fichiers externes : java.io.File, et là un chemin relatif se calcul à partir de l'emplacement d'exécution. Si les images sont dans ton jar, il n'existe que le JAR sur le système de fichier....
    Pour les fichiers (ou ressources) internes : la méthode getResourceAsStream.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("image/monImage.png");

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 214
    Points : 115
    Points
    115
    Par défaut
    Aille, ça veut donc dire que je douis revoir tout mon code à propos des images... si j'ai bien compris! Et ça ne marchera donc plus avec eclipse???

    Merci d'avance!!!

  6. #6
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Si tu changes ton code, il n'y a aucune raison qu'il ne fonctionne pas sous Eclipse.

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le getRessource travaille par rapport au classpath, que ce classpath soit un ou plusieur jar, ou qu'il s'agisse (comme dans le cas du développement) d'une ensemble de sous répertoires.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 214
    Points : 115
    Points
    115
    Par défaut
    Effectivement, ça marche bien!!! merci mais il faut que je mette le dossier image dans le dossier contenant mes codes .java de mes classes!

    Est-ce possible de mettre les images à la racine du .jar? et donc d'utiliser un chemin relatif ../images/img.jpg ???

    Merci d'avance:!!!

  9. #9
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Qu'entends-tu par à la racine du jar ? Le répertoire "image" représente un package comme un autre, mais ne contenant aucun source java, uniquement des ressources.
    Du coup je comprend mal la signification du "../images/img.jpg", pas besoin de chemin relatif dans le classpath ...

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    pour que le getResource marche dans eclipse, il faut que le dossier contenant "/images" soit répertorié dans les build-path, puisque c'est le buildpath qui déterminera le classpath à l'exécution sous eclipse.

Discussions similaires

  1. fichier properties et archive ".jar"
    Par Unifi dans le forum Langage
    Réponses: 6
    Dernier message: 21/04/2011, 09h43
  2. Accéder à des ressources dans un fichier d'archive JAR
    Par Michel Deriaz dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 08/03/2011, 18h44
  3. Réponses: 0
    Dernier message: 04/08/2008, 16h07
  4. [JAR] créer une archive .jar contenant des images.
    Par keny dans le forum Général Java
    Réponses: 2
    Dernier message: 14/03/2005, 13h17

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