Intégrer des images dans un jar avec Eclipse

Introduction

Bonjour,

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

La question peut paraitre déjà vue, certain diront qu'il est inutile de mettre un tuto pour ca, mais je n'ai trouvé que des morceaux de réponse, et pas assez de détails pour intégrer les images lors de l'export en utilisant Eclipse.

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

Tutoriel

Problématique

Dans Eclipse,dans le package explorer, vous avez ceci :

Mon Projet
--Repertoire src
----package1
----package2
----...
--JRE
----images
------des sous dossier?
------...

Vous avez voulu utiliser vos images, vous avez donc fait:
- soit : newImageIcon( getClass() .getResource( "/images/pack_editors.png" ));
- soit : newImageIcon("/images/pack_editors.png" );

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

Comment on exporte déjà ?

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

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

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

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

Ca ne marche toujours pas? Normal

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

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

Aller dans l'onglet "Source" et ajouter le dossier images.

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

Ca ne marchetoujours pas? Normal

Vous avez indiqué "/images/pack_editors.png", ce qui veut dire la ressource « pack_editors.png » est située dans le package images. Or il n'est pas dans un package. Vous pouvez ouvrir le dossier bin de votre projet pour avoir la confirmation que les images sont à la racine.

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

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

... une majuscule qui traîne, dans le nom du fichier ou l'extension,
... un confusion entre « jpeg » « jpg »

Vous avez entendu parler du manifest

Moi aussi, j'y ai rien mis 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 scripts Ant

Ca doit être très intéressant, mais je ne m'en suis pas servi

Ce document intitulé « Intégrer des images dans un jar avec Eclipse » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous