Tout d'abord, il convient de créer un fichier Manifest.
Ce fichier contiendra le nom de la classe à exécuter ainsi que les archives à mettre dans le CLASSPATH.
Manifest-Version: 1.0
Created-By: 1.4.1_01 (Sun Microsystems Inc.)
Main-Class: Start
Class-Path: .\archive1.jar .\archive2.jar
Attention : il est nécessaire de terminer le fichier manifest par un saut de ligne.
Nous appellerons le fichier MANIFEST.MF et il sera placé dans un répertoire META-INF en racine de l'application (par exemple).
Les archives jar du classpath ne seront pas inclues dans ce jar mais seront situées par la suite dans le même répertoire que nous allons créer (ou dans un path bien défini).
Si l'on veut qu'elles soient rangées dans un répertoire il suffira de donner le path:
Class-Path: path1\archive1.jar path2\archive2.jar
Pour créer le jar il faut déjà supprimer tous les .java
L'idéal étant de copier tous les .class (avec leur arborescence s'ils sont packagés) dans un répertoire temporaire pour créer le jar dans ce répertoire. On peut aussi copier les fichiers qui seront accessibles dans le jar (images) s'il y en a.
Dans le répertoire des .class, on exécutera la commande suivante :
jar cvfm monappli.jar META-INF/MANIFEST.MF .
Le programme jar reconstruira le fichier Manifest et affichera sur la sortie standard les résultats (ça permet de vérifier qu'il est codé correctement).
On exécute ensuite le jar de la façon suivante :
java -classpath ".;./archive1.jar;./archive2.jar" -jar monappli.jar
ou
java -classpath ".;path1/archive1.jar;path2/archive2.jar" -jar monappli.jar
en fonction de l'endroit où sont placés les archives.
|