Ajouter un package à mon compilateur [JAVA] - Programmation
Marsh Posté le 30-01-2002 à 19:33:56
Quand on compile des classes dans des packages il faut qu'elles soient au bon endroit et compiler au bon endroit.
Par exemple, dans ton cas ton fichier Clavier.java doit se trouver dans le répertoire './uit/algo', '.' désignant le répertoire d'où tu lances la compilation (et aussi l'emplacement des fichiers de classe du package anonyme).
[edtdd]--Message édité par Krueger--[/edtdd]
Marsh Posté le 30-01-2002 à 19:35:59
ok
alors, là, j'ai une classe Clavier
je veux qu'elle soit accessible dans le package iut.algo.Clavier
comment je fais ?
c'est simple ?
Il faut que ce package soit accessible pour TOUTES les applications, comme un import java.lang.*; par ex , tu vois ?
Marsh Posté le 30-01-2002 à 19:36:56
J'ai édité au moment où tu as posté.
Marsh Posté le 30-01-2002 à 19:45:39
Heu bon, je détaille plus alors.
En supposant que toutes tes classes appartiennent au package anonyme (pas de 'package toto;' dans les classes), soit <REP> le répertoire où elles se trouvent.
Ton fichier Clavier.java doit alors se trouver dans <REP>/iut/algo.
Il ne te reste plus qu'à lancer la compilation depuis le répertoire <REP> et voilà!
En espérant avoir été assez clair.
Il y a bien l'instruction 'package iut.algo;' dans ton fichier Clavier.java, non?
[edtdd]--Message édité par Krueger--[/edtdd]
Marsh Posté le 30-01-2002 à 21:29:13
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.
Marsh Posté le 30-01-2002 à 19:06:17
Amis du jour, bonjour
Voilà ... je suis à mon IUT, mais j'aimerais bien bosser chez moi le Java. J'ai mes profs qui m'ont mis à disposition des outils tout con, dans des packages. Ils m'ont filé ces packages, et j'aimerais bien les utiliser avec mon compilateur , mais je ne sais pas comment les installer.
Ils m'ont filé un fichier nommé Clavier.java
et quand on programme, on fait un import uit.algo.* et on peut utiliser cette Classe ...
Comment faire ?
Merci