Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Programmation > Java > Créer une archive JAR exécutable > Lecture du tutoriel

Créer une archive JAR exécutable

Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Avatar
Auteur : Bartimeus
Visualisations : 14 120

Plus d'informations Plus d'informations
Vous êtes un débutant en Java et aimeriez montrer à vos amis vos progrès en leur distribuant vos programmes, seulement vous aimeriez qu'ils puissent les lancer comme la plupart des programmes existants (sous Windows) : par un double-clic sur un fichier.
Eh bien vous êtes ici au bon endroit car je vais vous apprendre à créer des archives JAR auto-exécutables (c'est-à-dire qui se lanceront par un simple double-clic).

Je tiens juste à préciser qu'il existe d'autres techniques permettant de créer des fichiers JAR que celle que je vais vous apprendre (en utilisant un IDE comme Eclipse ou tout simplement un programme conçu dans ce but). Cependant, le faire manuellement vous permettra de mieux comprendre de quoi il retourne et est bien plus gratifiant que de passer par un logiciel tiers. :D

Trêve de bla-bla, place aux explications !
Sommaire du tutoriel :
Icône du chapitre

Qu'est-ce qu'une archive JAR exécutable?

Les fichiers JAR (pour Java ARchive) sont des fichiers archives qui permettent d'archiver (étonnant hein ? :p ) des fichiers dans un format spécifique à Java, et donc portable. Les fichiers JAR ne sont en fait rien d'autre que des fichiers zip renommés (essayez d'ouvrir un fichier JAR avec Winzip ou Winrar, vous verrez que cela fonctionne). L'intérêt des archives JAR est aussi qu'elles peuvent être auto-exécutables, faisant office de .exe pour vos programmes Java sous Windows par exemple. Dans ce tutoriel, je vous expliquerai donc comment créer des fichiers JAR auto-exécutables, créer de simples fichiers d'archive n'étant pas spécialement compliqué. La différence entre une archive JAR basique et une archive JAR exécutable et que lors d'un double-clic sur cette dernière, la JVM ira automatiquement chercher la classe principale de votre programme pour l'exécuter.

Un JAR auto-exécutable contient donc obligatoirement un programme Java, ce qui n'est pas forcément le cas avec un JAR basique.

Pour une description plus précise, voir l'article dédié sur Wikipédia (dont provient d'ailleurs l'icône de ce tutoriel).

Organisation

Tout d'abord, il va vous falloir organiser votre espace de travail. Soit : un dossier principal qui contiendra à la fin de ce tutoriel :Afin de mieux s'y retrouver, je vous conseille de créer un sous-dossier contenant les éventuelles ressources dont a besoin votre programme.
Il se peut aussi que votre programme ait besoin d'accéder à d'autres fichiers .jar, (librairies externes, Look&Feel...) afin que les futurs utilisateurs de votre programme n'aient pas à réfléchir pour savoir sur quel fichier .jar cliquer, je vous conseille de les mettre eux aussi dans un sous-dossier (soit le même que celui accueillant les ressources, soit un autre, cela dépend de la façon dont vous voulez vous organiser).
Ici je prendrai comme exemple l'utilisation d'un Look&Feel supplémentaire : le Look&Feel Liquid.
Placez ensuite une copie de vos fichiers .class à la racine du dossier.

Dans la suite de ce tutoriel, je considérerai donc que nous avons un répertoire racine nommé "Projet" , et que ce répertoire contient un sous-répertoire "Archives" ainsi qu'un sous-répertoire "Ressources" .
Faites attention à ce que dans votre code source les accès à des ressources externes prennent bien en compte ce schéma (par exemple le chemin d'accès à une image sera "Ressources\image.gif" ).

Le fichier MANIFEST

Ensuite, il vous faut créer un fichier nommé MANIFEST.MF (en fait ce fichier peut prendre n'importe quel nom mais MANIFEST.MF est le nom recommandé). Ce fichier est en fait un simple fichier texte contenant diverses informations comme :

Par convention, ce fichier est placé dans un sous-dossier META-INF, néanmoins vous pouvez le placer à la racine de votre dossier "Projet" sans aucun problème. Ici le fichier MANIFEST.MF est donc à la racine de notre dossier "Projet" .
Voici un exemple de fichier MANIFEST.MF : (note : Les commentaires sont ici utilisés dans un souci de simplicité mais n'en mettez surtout pas dans votre fichier MANIFEST ! )
Code : Autre
1
2
Main-Class: ClassePrincipale
Class-Path: \Archives\liquidlnf.jar //Le fichier JAR contenant le Look&Feel Liquid


Votre fichier MANIFEST doit obligatoirement se terminer par un retour chariot (retour à la ligne) !
Faites aussi attention à ce qu'il n'y ait aucun espace à la fin de chaque ligne.
Dans le cas contraire, vous auriez une erreur soit au moment de la création du JAR, soit lorsque vous essaieriez de le lancer (en général la JVM ne trouve pas la classe principale).

Créer l'archive JAR

Maintenant que tout est prêt, nous pouvons enfin passer à la création de notre fichier JAR. (ouf!)
Pour ce faire, il va falloir utiliser la console! (j'en entend déjà râler au fond :D )
J'imagine que les utilisateurs de Linux savent s'en servir à merveille. (la console étant très utilisée apparemment sur cet OS)
Si vous êtes un utilisateur de Windows et que vous ne savez pas vous servir de la console (appelée MS DOS sous Windows) je vous conseille ce tutoriel de Gnogno expliquant son fonctionnement. Pour notre affaire, seule la partie "Navigation" vous sera utile. ;)

Je considère que vous vous trouvez maintenant dans votre dossier "Projet".(à partir de la console bien entendu)
Voici maintenant le schéma de la commande qu'il va vous falloir entrer dans la console:
Code : Console
jar cvmf MANIFEST.MF Programme.jar *.class

Explication: jar est tout simplement la commande utilisée par Java pour gérer les fichiers JAR.
La suite de lettres "cvmf": La suite indique le nom du fichier MANIFEST (ici MANIFEST.MF), le nom que vous voulez donner au fichier JAR qui sera créé (ici Programme.jar) et enfin les fichiers que vous voulez inclure dans l'archive. (ici l'utilisation de l'astérisque permet de dire que nous voulons ajouter tous les fichiers .class contenus dans le dossier courant)
L'ordre donné ci-dessus est très important, en effet si vous inversez le nom du fichier MANIFEST et le nom de l'archive que vous voulez créer, vous obtiendrez une erreur. Ce qui est normal car Java chercherait en fait un fichier MANIFEST du nom de Programme.jar qui n'existerait donc pas.

Une fois ceci fait, vous devriez avoir un message de ce style dans la console:
Code : Console
manifest ajouté
ajout : Class1.class (entrée = 541) (sortie = 382) (29% compressés)
ajout : Class2.class (entrée = 4549) (sortie = 2531) (44% compressés)

Si vous utilisez la console Windows, il y a de fortes chances que les accents ne s'affichent pas correctement.

Si ce n'est pas le cas, vérifiez que vous n'avez pas fait d'erreur dans le fichier MANIFEST.MF (n"oubliez pas le saut de ligne à la fin du fichier!) ou en tapant la commande dans la console.

Rendez-vous maintenant dans votre dossier "Projet": un fichier Programme.jar a bien été créé! (encore heureux ^^ ) Vous pouvez maintenant supprimer les fichiers .class de votre dossier, ils ne vous servent plus à rien.
Pour lancer votre programme, un simple double-clique suffit.

Et voilà, c'est fini. J'espère que ce tuto vous a plu et vous a permis de bien comprendre la création de fichiers JAR. :)

Pour aller plus loin



Comme je l'ai dit dans l'introduction de ce tutoriel, il existe d'autres manières de créer des archives JAR. Voici quelques liens qui vous éclaireront sur le sujet :

Remerciement



Un grand merci à SuperMat pour ses conseils et sa relecture du tutoriel !

Pour toute question ou suggestion sur ce tuto, ma boîte à MP est ouverte !
Retour en haut Retour en haut


Créé : le 25/06/2007 à 19:34:11
Modifié : le 22/08/2008 à 16:06:14
Avancement : 100%
Licence : Copie non autorisée

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 138 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0626s (0.053s)