Créer une archive JAR exécutable

Formation

En Semi-présenciel Paris

Prix sur demande

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Description

  • Typologie

    Formation

  • Méthodologie

    En semi-présentiel

  • Lieu

    Paris

Grâce à cette formation vous pourrez acquérir les connaissances nécessaires qui vous permettrons d’ajouter des compétences à votre profil et obtenir de solides aptitude qui vous offriront de nombreuses opportunités professionnelles.

Les sites et dates disponibles

Lieu

Date de début

Paris ((75) Paris)
Voir plan
7 Cité Paradis, 75010

Date de début

Consulter

Questions / Réponses

Ajoutez votre question

Nos conseillers et autres utilisateurs pourront vous répondre

À qui souhaitez-vous addresser votre question?

Saisissez vos coordonnées pour recevoir une réponse

Nous ne publierons que votre nom et votre question

Les Avis

Le programme

Introduction du cours

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 !

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 (d'où 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 :

  • votre fichier .jar ;

  • un sous-dossier contenant les ressources dont a besoin votre programme (images etc.).

Afin de mieux vous 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&FeelLiquid.
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 :

  • le nom de la classe principale (contenant la méthode main) ;

  • le CLASSPATH (chemin) menant à d'éventuelles archives.

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 !) :

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 aucune 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 entends 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 :

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" :

  • 'c' : veut dire que vous voulez créer un fichier JAR (il faut en effet le préciser car la commande jar peut aussi être utilisée pour ouvrir un fichier .jar par exemple).

  • 'v' : indique que vous voulez afficher les détails sur la création du JAR (mode "verbeux").

  • 'm' : indique que vous voulez utiliser votre propre fichier MANIFEST.MF (ce qui n'est pas forcément utile dans le cas d'une archive non-exécutable).

  • 'f' : indique que le résultat sera un fichier (si vous omettez de l'indiquer, le résultat s'affichera dans la console ce qui ne servirait à rien).

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 :

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-clic 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 :

  • créer un JAR avec Eclipse et NetBeans (developpez.com) ;

  • un logiciel permettant de créer des archives JAR : Ant (article Wikipedia).

Remerciement

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

Pour toute question ou suggestion au sujet de ce tuto, ma boîte à MP est ouverte !

  • #
Waouh !

Très heureux de voir que nos cours vous plaisent, déjà 3 pages lues aujourd'hui ! Vous pouvez continuer la lecture de nos cours en devenant un Roomie, un membre de la communauté d'OpenClassrooms. C'est gratuit !

Vous pourrez aussi suivre votre avancement dans le cours, faire les exercices et discuter avec les autres Roomies.

S'inscrire Se connecter
  • Thématiques du cours : Java Programmation

Chaque cours est créé par un professeur ou un expert dans le domaine. Il est composé d'une ou plusieurs parties et peut comporter du texte, des images (schéma, illustration) et des vidéos. Chaque partie d'un cours certifiant est ponctuée d'exercices de 2 types : Des quiz corrigés automatiquement Des devoirs libres (exemple : créer un site web avec des consignes précises). Ces devoirs sont évalués par les pairs. Chaque devoir est corrigé 3 fois par 3 autres élèves, dans un processus en double aveugle, selon un barème fixé par le professeur. La note finale est la moyenne des 3 notes reçues sur le devoir. 50% des devoirs corrigés par les pairs obtiennent quasiment les 3 mêmes notes, avec une variance inférieure à 1. La recherche académique montre d'ailleurs que l'évaluation par les pairs peut être aussi précise que celle des professeurs.

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Créer une archive JAR exécutable

Prix sur demande