Organisation
Lorsqu'on compile un programme Java, le compilateur produit un
ou plusieurs fichiers classes (extension .class )
contenant le code compilé. D'une manière générale, il est conseillé
de garder ces fichiers dans un autre répertoire que celui contenant
les fichiers source (extension .java ).
L'organisation que nous vous conseillons d'adopter est la
suivante : dans le répertoire dans lequel vous désirez stocker
votre projet Java, créez deux sous-répertoires, l'un nommé
sources , l'autre nommé classes .
Le sous-répertoire sources sera votre répertoire de
travail principal : vous y placerez vos fichiers sources
(.java ) ainsi que le Makefile si vous
décidez d'utiliser make pour automatiser la
compilation.
Le sous-répertoire classes sera quant à lui utilisé
uniquement pour stocker les fichier .class
produits par le compilateur.
Compilation de programmes Java
Le compilateur Java se lance en tapant la commande
javac suivie de la liste des fichiers à compiler. Par
défaut, ce compilateur place les fichiers .class dans
le répertoire courant. Pour respecter le schéma d'organisation
spécifié ci-dessus, il importe donc de lui dire de les placer dans
le répertoire classes , ce qui peut se faire au moyen
de l'option -d . Par exemple, pour compiler les
fichiers fich1.java et fich2.java du
répertoire courant et demander au compilateur de placer le résultat
dans le répertoire ~/compilation/classes , on tapera
:
javac -d ~/compilation/classes fich1.java fich2.java
Pour plus d'informations au sujet de la commande
javac , vous pouvez vous reporter à la
documentation de Sun (en anglais).
Exécution de programmes Java
Lorsqu'on a compilé un programme Java et qu'on désire
l'exécuter, il faut utiliser la commande java . Cette
commande prend en argument le nom d'une classe, la classe
principale, suivi d'éventuels arguments pour le programme.
La classe principale doit comporter une méthode statique nommée
main ayant le profil suivant :
public static void main (String[] args)
Cette méthode sera appelée par la commande java et les
arguments donnés après le nom de la classe lui seront passés sous
forme d'un tableau de chaînes de caractères.
Pour que la commande java trouve les classes dont
elle a besoin (en particulier la classe principale), il faut que
les fichiers .class correspondant se trouvent dans son
chemin de recherche. Ce chemin de recherche est une liste de noms
de répertoires (séparés par des ': ') dans lesquels les
fichiers .class résident, et s'appelle le
classpath.
Il y a deux moyens de spécifier le classpath à la
commande java : au moyen d'une variable
d'environnement ou au moyen d'une option.
La variable d'environnement se nomme CLASSPATH . On
peut lui donner une valeur au moyen de la commande
setenv (ou export dans les shells dérivés
de sh ), en tapant par exemple :
setenv CLASSPATH ~/compilation/classes:.
qui demande à java de chercher les fichier
.class dans le répertoire
~/compilation/classes ainsi que dans le répertoire
courant.
L'option à passer à la commande java se nomme
-classpath . Pour obtenir le même effet que ci-dessus,
on peut donc appeler la commande java comme suit:
java -classpath ~/compilation/classes:. classe_principale
Pour plus d'informations au sujet de la commande
java , vous pouvez vous reporter à la
documentation de Sun (en anglais).
|