Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

INTÉGRER DES IMAGES DANS UN JAR AVEC ECLIPSE


Information sur le tutorial

Catégorie :Astuces Date de création : 29/04/2008 10:45:01 Vu : 7 942 fois

Note :
Aucune note

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Bonjour,

"Comment on met les images dans le jar avec eclipse ET que ca marche?"

La question peut paraitre deja vue, certain diront qu'il est inutils de mettre un tuto pour ca, mais je n'ai trouver que des morceaux de réponse, et pas assez de détail pour intégré les images lors de l'export en UTILISANT ECLIPSE.

Donc voici la façon pour les insérer dans le jar, qu'on puisse s'en servir, et aussi tout les détails qui passe à la trappe dans les forum.

Tutorial

Dans eclipse,dans le package explorer, vous avez ceci :
Mon Projet
            Repertoire src
                        package1
                        package2
                        ...
            JRE
            images
                        des sous dossier?
                        ...

 

Vous avez voulut utilisé vos images, vous avez donc fait soit :

newImageIcon( getClass() .getResource( "/images/pack_editors.png" ));

soit

newImageIcon("/images/pack_editors.png" );

 

Le seconde solution ne vous permet pas d'accéder aux images dansle jar : elle recherche un dossier or le jar n'est plus qu'une archive.

 

Comment onexporte déjà ?

Clic Droit sur votre projet dans le package explorer > Export>JarFile

Première fenêtre : ce qui doit être mit dans le jar(normalement tout le projet est coché)

Deuxième fenêtre : des options que je n'ai pas touché

Troisième fenêtre : précisez le main en bas ! Accessoirementfaite « générer le manifeste » et « sauver le manifeste dans le workspace »de cette façon au deuxième export vous fait « utiliser un manifesteexistant » et après plus besoin de voir tout les fenêtres. Un finish dèsla première suffira

 

Ca ne marchetoujours pas? normal,

Vous n'avez pas indiqué à Eclipse que vous vouliez vos images dansle projet.

 

Clic Droit sur votre projet dans le package explorer >Properties>Java Build Path

Aller dans l'onglet "Source" et ajouter le dossierimages

Si tout c'est bien passé, votre dossier images a désormais la mêmeicône que celui de vos sources (dossier avec un mini icône de package à l'intérrieur)

 

Ca ne marchetoujours pas? normal,

vous avez indiqué "/images/pack_editors.png" ce qui veutdire la ressource « pack_editors.png » situé dans le package images,or il n'est pas dans

un package. (Vous pouvez ouvrir le dossier bin de votre projetpour avoir la confirmation que les images sont à la racine)

 

Il vous faut donc modifier le chemin d'accès de l'images : ildoit devenir "/pack_editors.png"

 

Ca ne marchetoujours pas? C'est peut-être dû a .

. une majuscule qui traîne, dans le nom du fichier ou l'extention,

. un confusion entre « jpeg » « jpg »

 

 

Vous avez entenduparler du manifest

Moi aussi, j'y ai rien mit de moi-même.

Manifest-Version:1.0

Main-Class:main.Main

Voila ce qu'Eclipse a fait, c'est vraiment rien.

 

Heu, et les scriptsant
Ca doit être très intéressant, mais je ne m'en suis pas servit

29 avril 2008 10:49:04 :
Je met en forme, et corrige les fautes
29 avril 2008 10:52:44 :
Aucune mise en forme conservé, en utilisant la boite de saisie…
29 avril 2008 10:56:09 :
en HTML?
29 avril 2008 11:03:11 :
En fait c'est safari qui merde...
29 avril 2008 11:04:18 :
C'est safari qui merde...
signaler à un administrateur
Commentaire de gouessej le 02/10/2008 12:42:22

Il y a encore des fautes d'orthographe dans ce tutoriel mais ça peut au moins aider les débutants (au moins ceux qui ne veulent pas utiliser la ligne de commande).

signaler à un administrateur
Commentaire de dilimio le 06/11/2008 17:47:16

tres bien

signaler à un administrateur
Commentaire de Fauchmanne le 14/03/2009 15:45:02

Bonjour,

Depuis une appli, je récupère des icônes en appellant Class.getResource("/icons/"+imageName) ; pour que ça marche depuis Eclipse, je dois mettre les images dans [monProjet]/bin/icons (j'ai trouvé en tatonnant).

Quand je veux suivre votre procédure pour ajouter "/bin/icons" aux sources afin qu'ils se retrouvent dans le .jar à l'export, ce répertoire n'apparaît pas dans le chooser ; si je fais "create a new folder"(dans bin), Eclipse me dit "Cannot nest '[monProjet]/bin/icons' inside output folder '[monProjet]/bin'". Il y a bien une checkbox "Allow output folders for source folders" mais ça ne change rien.

Je voudrais bien sûr configurer Eclipse pour que tout soit transparent, que je lance l'appli depuis l'IDE ou depuis le jar exécutable. Je suppose que "/icons/" devrait se trouver ailleurs, mais où ?

signaler à un administrateur
Commentaire de Icarius44 le 16/03/2009 11:20:57

Salut,

(Petite) Erreur de ma part, les icones doivent être dans un package icones. Je met le tuto à jour.

Icar

signaler à un administrateur
Commentaire de Icarius44 le 16/03/2009 11:35:11

Rectification :
J'ai relut le tuto, il n'y  pas d'erreur.

Déjà il ne faut en aucun taper dans /bin, c'est l'endroit où eclips envoie les fichier compilés, prendre en entré ce qu'il va donner en sortie c'est la garantie pour des bizarrerie.

Suit le tuto à la lettre : créé un dossier "icones", declare le en souces folder et ensuite accède à Class.getResource(imageName). tu NE met PAS le "/icones/" car ce n'est pas un package (cd second "Ca ne marche toujours pas? normal,").

Icar

signaler à un administrateur
Commentaire de Fauchmanne le 17/03/2009 11:06:02

Merci de ta réponse.

Oui je me doute bien que /bin n'est pas un bon endroit, mais j'ai trouvé nulle part l'info donc j'ai essayé empiriquement.

Bon, j'ai créé depuis Eclipse un répertoire [monProjet]/icones , dans lequel j'ai "importé" les fichiers images (sinon "file system out of sync", bien sûr), je l'ai ajouté aux sources du projet. J'ai essayé getResource (imageName), getResource ("icones/"+imageName) et getResource("/icones/"+imageName). Retour : null. Visiblement il cherche (d'abord?) dans le classpath... J'ai donc ajouté une entrée dans "Classpath Variables", pointant sur le répertoire en question, ça change rien. Je ne comprend pas.

signaler à un administrateur
Commentaire de Fauchmanne le 20/03/2009 10:36:48

Ok ça marche. En fait il y a moyen de créer directement un "Source folder" dans le projet, ça simplifie un peu la procédure. Et ensuite effectivement on accède par getResource("/"+imageName).

signaler à un administrateur
Commentaire de Shmeker le 22/03/2009 02:38:09

Salut,

Quand j'ajoute le dossier images comme source dans Java Build Path j'ai aussitot la petie icone d'erreur rouge à coté de mon projet et ca ne s'execute plus ://

signaler à un administrateur
Commentaire de Fauchmanne le 25/03/2009 09:14:47

En fait, amha le plus clean c'est :
1) créer un nouveau "Source Folder" dans le projet (dans le menu du clic-droit sur le projet, depuis le package explorer par exemple), appellé "resources" (puisqu'on peut y mettre autre chose que des images, en fait)
2) y importer (clic droit sur ce nouveau répertoire, "Import...") les fichiers voulus depuis un répertoire "neutre" (= non situé dans le Javaworkspace)
3) si on ajoute "à la main" (= depuis l'extérieur d'Eclipse) des fichiers dans le répertoire "resources", il faudra faire "Refresh" dans le projet pour que tout soit synchro.
4) on accède auxdites ressources par un nom de forme "/"+nomFichier

En fait Eclipse va placer à la compilation les fichiers dans [projet]/bin, ce qui permettra de faire tourner l'appli depuis Eclipse, et dans le .jar quand on exportera l'appli.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.