Exemple 6-1: Le package javagently dézippé 
- 
Le répertoire du livre "JavaGently" est ici:
/comm/tecfa/www/guides/java/examples/gently/
- 
Il contient le sous-répertoire javagently
 (qui s'appelle obligatoirement "javagently" à cause du package name)
tecfasun4:examples 37) ls -la gently/javagently
total 20
drwxrwxr-x   2 schneide tecfa        512 Dec  3 10:42 ./
drwxrwxr-x  18 schneide tecfa        512 Dec  3 10:36 ../
-rw-r-----   1 schneide tecfa       3506 Dec  3 10:42 Text.class
-rw-r-----   1 schneide tecfa       3975 Dec  3 10:42 Text.java
- 
Le CLASSPATH ou -classpath doit contenir:
/comm/tecfa/www/guides/java/examples/gently/
javac -classpath "/comm/tecfa/www/guides/java/examples/gently/" Controller.java
   et PAS:
/comm/tecfa/www/guides/java/examples/gently/javagently
 
C.	Utilisation de packages de type *.jar ou *.zip
- 
Il n'est pas utile de dézipper une archive de type *.jar ou de type *.zip bien fait.
- 
En gros, un fichier *.jar est à priori "bien fait", un fichier *.zip n'est peut-être qu'une archive de fichiers (et pas fait spécialement pour Java)
- 
Il faut mettre chemin/fichier *.jar ou *.zip dans le classpath !
- 
Attention: s'il n'est pas correctement zippé (comme par exemple le package JavaGently cela ne marche pas, j'ai du utiliser l'outil "jar")
 
 
6.1	Applications et applets avec plusieurs fichiers et archives
- 
On reprend l'See Inclure des archives et des classes dans une applet
- 
Tous les fichiers se trouvent dans le répertoire project. Ces fichiers peuvent être compilés en une seule fois, s'ils sont dans le classpath
- 
L'argument -d de javac met les fichiers *.class dans un autre répertoire
- 
Voici la ligne de compilation (sous Unix)
javac -g -d classes -classpath /local/java/classes/xml-ea2/xml.jar:/local/java/jdk1.2/lib/classes.zip project/PlayElement.java project/ProjectElement.java project/SceneElement.java project/ShowElement.java project/TitledElement.java project/GuiDemo.java
- 
Voici l'instruction pour faire l'archive:
cd classes; jar cvf ../project.jar *
- 
Voici la structure complète du répertoire APRES compilation:
tecfasun4:sun-gui 236) ls -R
.:
Makefile            TECFA.README        example2.html       project.jar
Makefile.ORI        classes/            example2.html.ORI   show.props
README              example1.html       play.props
README.html         example1.html.ORI   project/
 
./classes:
project/
 
./classes/project:
GuiDemo$1.class                ProjectElement.class
GuiDemo$ErrorDialog.class      SceneElement.class
GuiDemo$ErrorPrinter.class     ShowElement$MaskedNode.class
GuiDemo$TreePanel.class        ShowElement.class
GuiDemo.class                  TitledElement.class
PlayElement.class
 
./project:
GuiDemo.java          ProjectElement.java   ShowElement.java
PlayElement.java      SceneElement.java     TitledElement.java
 
Exemple 6-2: Le package javagently comme *.jar file
jar cfv javagently.jar javagently
- 
javagently.jar doit être dans le classpath, exemple (une ligne!):
javac -classpath "/comm/tecfa/www/guides/java/examples/gently/  javagently.jar:/local/java/jdk1.1.7/lib/classes.zip" Controller.java