bon ... les package, au début c'est vrai que c'est pas évident.
il faut d'abord que tu connaisses le package dans laquelle se trouve ta classe Clavier. Pour cela, il faut que regarde au début du fichier : il doit y avoir une commande package.
si la commande est "package uit.algo;", cela signfie que ta classe se trouve dans le paquetage uit.algo
Une autre façon de dire la même chose, c'est que le nom complet de ta classe est uit.algo.Clavier.
Maintenant, quand tu lances un programme avec la commande "java MonProg" (ou quand tu compile une classe avec javac), la JVM va devoir retrouver tes classes. Si on ne lui indique rien, elle va utiliser la méthode bête : chercher à partir du répertoire courant.
Pour trouver la classe uit.algo.Clavier, elle va chercher le fichier uit/algo/Clavier.class
Il existe un façon de dire à la JVM de chercher ailleur les classes : en utilisant le classpath.
par exemple, on va dire que tu vas mettre toutes tes classes dans le repertoire c:\classes_utiles\
Pour indiquer à la JVM d'aller chercher tes classes dans ce repertoire, il faudra que tu tapes (depuis n'importe quel repertoire) java -cp c:/classes_utiles MonProg
Cependant, pour que ca marche, il faudra que toutes tes classes, y compris MonProg.class soit dans le repertoire indiqué.
Ta classes Clavier devra alors se trouver dans c:\classes_utiles\uit\algo\Clavier.class
Si tu veux pouvoir mettre tes classes utiles dans un rep et tes classes de travail dans un autre, il suffit de mettre plusieurs repertoire dans le classpath (séparés par des points virgules.
Par exemples, si ton repertoire de travail est c:\sources\java, il faudra que tu lances cette commande (depuis n'importe quel repertoire)
java -cp c:/classes_utiles;c:/sources/java MonProg
Souvent, on se place dans le repertoire dans lequel se trouve la classe que l'on veut compiler, donc on peut utiliser le '.' pour indiquer le repertoire courant. Donc, si tu es dans le repertoire c:\sources\java, tu pourras taper simplement
java -cp .;c:/classes_utiles MonProg
Maintenant, comme il est assez pénible de devoir taper le classpath à chaque compile ou lancement de programme, il est possible de l'enregistrer dans une variable système nommée CLASSPATH qui sera chargée automatiquement par java ou javac.
Sous windows 98 par exemple, il faut ajouter cette ligne dans l'autoexec.bat :
SET CLASSPATH=.;c:/classes_utiles MonProg
attention, de ne pas oublier le '.' !!!
tu pourras ensuite taper simplement java MonProg ente plaçant dans le bon repertoire et ca marchera.
vola. j'espère que tu as compris.
---------------
ma vie, mon oeuvre - HomePlayer