Archive JAR, comment l'utiliser ?

Archive JAR, comment l'utiliser ? - Java - Programmation

Marsh Posté le 19-08-2002 à 17:07:31    

Bon, j'explique. J'ai fait un modeste package avec l'outil JAR de Java.  quand j'ouvre mon JAR avec WinZip, il m'indique que les fichiers .class et .java sont dans le répertoire ./cherrytree/graph
 
Maintenant je veux utiliser ces classes. Alors je fais un import cherrytree.graph.*; en tête de fichier.
 
J'enregistre une variable globale CLASSPATH avec comme valeur : C:\j2sdk1.4.0\lib\cherrytree.jar (c'est le nom de mon JAR maison).
 
Puis je me décide à compiler :

package cherrytree.graph does not exist


Que me proposez-vous ?


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 17:07:31   

Reply

Marsh Posté le 19-08-2002 à 17:11:40    

euh ... ca est bizarre ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 19-08-2002 à 17:15:29    

faute d'orthographe ?

Reply

Marsh Posté le 19-08-2002 à 17:16:49    

Cherrytree a écrit a écrit :

Bon, j'explique. J'ai fait un modeste package avec l'outil JAR de Java.  quand j'ouvre mon JAR avec WinZip, il m'indique que les fichiers .class et .java sont dans le répertoire ./cherrytree/graph
 
Maintenant je veux utiliser ces classes. Alors je fais un import cherrytree.graph.*; en tête de fichier.
 
J'enregistre une variable globale CLASSPATH avec comme valeur : C:\j2sdk1.4.0\lib\cherrytree.jar (c'est le nom de mon JAR maison).
 
Puis je me décide à compiler :

package cherrytree.graph does not exist


Que me proposez-vous ?




 
Bon, là clairement, y trouves par tes classes....
 
essais de faire :
 
javac -classpath C:\j2sdk1.4.0\lib\cherrytree.jar  MonBouzin.java
 
Pour bien vérifier le fair qu'il utilise le bon classpath... (Change MonBouzin.java quand même...  :D  )
 


---------------
XBox? http://www.gamertagdatabase.com
Reply

Marsh Posté le 19-08-2002 à 17:16:50    

euh aherm, c quoi la premiere ligne de tes sources qui sont dans ce jar...?

Reply

Marsh Posté le 19-08-2002 à 17:18:03    

package cherrytree.graph;
 
Enfin, il me semble.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 17:19:48    

Cherrytree a écrit a écrit :

package cherrytree.graph;
 
Enfin, il me semble.



vérifie ;)

Reply

Marsh Posté le 19-08-2002 à 17:22:43    

therier a écrit a écrit :

 
 
Bon, là clairement, y trouves par tes classes....
 
essais de faire :
 
javac -classpath C:\j2sdk1.4.0\lib\cherrytree.jar  MonBouzin.java
 
Pour bien vérifier le fair qu'il utilise le bon classpath... (Change MonBouzin.java quand même...  :D  )
 
 



Avec MonBouzin.java, ça merde (:D) par contre avec TaskGraph.java (:sol:) ça donne :  

TaskGraph.java:3:cannot access cherrytree.graph.AdjacencyListDirectedGraph
bad class file: C:\j2sdk1.4.0\lib\cherrytree.jar(cherrytree/graph/AdjacencyListDirectedGraph.class)
illegal start of class file
Please remove or make sure it appears in the correct subdirectory of the classpath.


Message édité par Cherrytree le 19-08-2002 à 17:23:22

---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 17:22:58    

--greg-- a écrit a écrit :

vérifie ;)



C'est fait, c'est bon.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 17:23:40    

Cherrytree a écrit a écrit :

C'est fait, c'est bon.



Mais ça foire toujours. :na:


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 17:23:40   

Reply

Marsh Posté le 19-08-2002 à 17:26:36    

Cherrytree a écrit a écrit :

Avec MonBouzin.java, ça merde (:D) par contre avec TaskGraph.java (:sol:) ça donne :  

TaskGraph.java:3:cannot access cherrytree.graph.AdjacencyListDirectedGraph
bad class file: C:\j2sdk1.4.0\lib\cherrytree.jar(cherrytree/graph/AdjacencyListDirectedGraph.class)
illegal start of class file
Please remove or make sure it appears in the correct subdirectory of the classpath.






 
Bizarre.... recompile ton AdjacencyListDirectedGraph, à mon avis, il est foireux...
Ou alors, "package cherytree.graph" n'est pas la premiere instruction de ta classe!  :D  
 


---------------
XBox? http://www.gamertagdatabase.com
Reply

Marsh Posté le 19-08-2002 à 17:34:56    

Je recompile.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 17:41:54    

Cherrytree a écrit a écrit :

Je recompile.



Le package a changé de taille, et on dirait que cette fois ça marche. Juste une chose, faut il indiquer '.' dans le classpath (j'ai plusieurs fichiers).


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 17:46:48    

Cherrytree a écrit a écrit :

Le package a changé de taille, et on dirait que cette fois ça marche. Juste une chose, faut il indiquer '.' dans le classpath (j'ai plusieurs fichiers).



il ressemble à quoi ton classpath?

Reply

Marsh Posté le 19-08-2002 à 17:47:12    

Cherrytree a écrit a écrit :

Le package a changé de taille, et on dirait que cette fois ça marche. Juste une chose, faut il indiquer '.' dans le classpath (j'ai plusieurs fichiers).




 
comment ça indiquer '.'?!?
 


---------------
XBox? http://www.gamertagdatabase.com
Reply

Marsh Posté le 19-08-2002 à 17:56:17    

therier a écrit a écrit :

 
 
comment ça indiquer '.'?!?
 
 



Le répertoire courant !


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 17:56:53    

--greg-- a écrit a écrit :

il ressemble à quoi ton classpath?



C:\j2sdk1.4.0\lib\cherrytree.jar;


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 17:58:10    

Cherrytree a écrit a écrit :

Le répertoire courant !



beh si tu veux demarrer ton appli depuis ce rep, oui :)

Reply

Marsh Posté le 19-08-2002 à 18:04:25    

--greg-- a écrit a écrit :

beh si tu veux demarrer ton appli depuis ce rep, oui :)



Je veux surtout qu'en compilant mon fichier, il remarque les autres fichiers du répertoire courant (entre autres Task.java) qui sont nécessaire à la compilation de TaskGraph.java.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:04:53    

Cherrytree a écrit a écrit :

Je veux surtout qu'en compilant mon fichier, il remarque les autres fichiers du répertoire courant (entre autres Task.java) qui sont nécessaire à la compilation de TaskGraph.java.



pareil

Reply

Marsh Posté le 19-08-2002 à 18:13:55    

Cherrytree a écrit a écrit :

Je veux surtout qu'en compilant mon fichier, il remarque les autres fichiers du répertoire courant (entre autres Task.java) qui sont nécessaire à la compilation de TaskGraph.java.




ben dans ce cas la réponse est oui. C'est assez évident, non ?

Reply

Marsh Posté le 19-08-2002 à 18:14:38    

Cherrytree a écrit a écrit :

 
J'enregistre une variable globale CLASSPATH avec comme valeur : C:\j2sdk1.4.0\lib\cherrytree.jar (c'est le nom de mon JAR maison).



mais pourquoi t'es allé mettre ton jar dans le rep lib de la JDK ???

Reply

Marsh Posté le 19-08-2002 à 18:14:39    

Bon, en indiquant explicitement classpath dans la ligne de commande pour la compilation, ça marche. Par contre, la variable CLASSPATH que j'ai définie sous Win2000, avec le menu Système du Panneau de Config, il s'en fiche royalement.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:15:52    

Cherrytree a écrit a écrit :

Bon, en indiquant explicitement classpath dans la ligne de commande pour la compilation, ça marche. Par contre, la variable CLASSPATH que j'ai définie sous Win2000, avec le menu Système du Panneau de Config, il s'en fiche royalement.



t'as réouvert ta fenetre dos apres l'avoir changé ou tu as gardé la meme ? :D
edit: tu peux taper SET sous command line pour voir à quoi ressemble ton classpath
 
sinon, meme question que benou, mais bon.........  :sarcastic:


Message édité par --greg-- le 19-08-2002 à 18:16:56
Reply

Marsh Posté le 19-08-2002 à 18:16:14    

benou a écrit a écrit :

 
ben dans ce cas la réponse est oui. C'est assez évident, non ?



Ben, stadire que par défaut, quand tu compiles un p'tit fichier java, s'il a besoin d'un fichier non compilé du répertoire courant, il le compile avec. Or là avec le classpath, la feature semble désactivée, d'où mon désarroi.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:16:50    

benou a écrit a écrit :

 
mais pourquoi t'es allé mettre ton jar dans le rep lib de la JDK ???



Fallais bien la mettre quelque part. Tu la mettrais où ?


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:17:08    

--greg-- a écrit a écrit :

t'as réouvert ta fenetre dos apres l'avoir changé ou tu as gardé la meme ? :D
edit: tu peux taper SET sous command line pour voir à quoi ressemble ton classpath
 
sinon, meme question que benou, mais bon.........  :sarcastic:



Je regarde ça et je reviens.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:17:10    

--greg-- a écrit a écrit :

t'as réouvert ta fenetre dos apres l'avoir changé ou tu as gardé la meme ? :D




je parie pour la 1ere option ! :D

Reply

Marsh Posté le 19-08-2002 à 18:18:00    

Cherrytree a écrit a écrit :

Je regarde ça et je reviens.



Bien vu, j'avais pas réinitialisé ma fenêtre.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:18:24    

Cherrytree a écrit a écrit :

Ben, stadire que par défaut, quand tu compiles un p'tit fichier java, s'il a besoin d'un fichier non compilé du répertoire courant, il le compile avec. Or là avec le classpath, la feature semble désactivée, d'où mon désarroi.




c'est justement parce que le répertoire courant n'est plus dans le classpath => il ne va plus chercher les classes à cet endroit => il faut mettre le . dans le classpath

Reply

Marsh Posté le 19-08-2002 à 18:19:18    

benou a écrit a écrit :

 
c'est justement parce que le répertoire courant n'est plus dans le classpath => il ne va plus chercher les classes à cet endroit => il faut mettre le . dans le classpath



Yep, alors tout est clair. Tu t'y colles pour l'article ? :D Je sais, j'ai du retard (un retard monstre même).


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:19:41    

Cherrytree a écrit a écrit :

Fallais bien la mettre quelque part. Tu la mettrais où ?



bah dans d:\mysupaproject\lib par exemple... :)

Reply

Marsh Posté le 19-08-2002 à 18:19:56    

Et sinon, vous le mettriez où ?


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:20:00    

Cherrytree a écrit a écrit :

Bien vu, j'avais pas réinitialisé ma fenêtre.



:D

Reply

Marsh Posté le 19-08-2002 à 18:20:13    

Cherrytree a écrit a écrit :

Et sinon, vous le mettriez où ?



Arrgh, grillé.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:20:30    

Cherrytree a écrit a écrit :

Arrgh, grillé.



:D

Reply

Marsh Posté le 19-08-2002 à 18:20:54    

--greg-- a écrit a écrit :

bah dans d:\mysupaproject\lib par exemple... :)



SupaProject ? Hum, pourquoi pas POWAProject ? :D


---------------
Le site de ma maman
Reply

Marsh Posté le 19-08-2002 à 18:21:14    

Cherrytree a écrit a écrit :

Yep, alors tout est clair. Tu t'y colles pour l'article ? :D Je sais, j'ai du retard (un retard monstre même).




je suis déjà à la bourre pour celui de l'invocation dynamique ... mais bon, de toute façon, j'ai l'impression qu'il n'y a plus grand monde qui bouge :(

Reply

Marsh Posté le 19-08-2002 à 18:24:03    

Cherrytree a écrit a écrit :

SupaProject ? Hum, pourquoi pas POWAProject ? :D



tiens, supa, spacon, ça pourrait pê coller pour le nom du pseudo framework qui resultera de powa et autour duquel on va batir plein d'autres applis :))
ça pourrait vouloir dire quoi supa ? :)

Reply

Marsh Posté le 19-08-2002 à 18:24:22    

benou a écrit a écrit :

 
je suis déjà à la bourre pour celui de l'invocation dynamique ... mais bon, de toute façon, j'ai l'impression qu'il n'y a plus grand monde qui bouge :(



Si, si, le dével suit son cours et je compte bien faire voir le jour à ce merveilleux site collectif, mais j'ai été un poil optimiste sur les délais que j'ai annoncé. Il faut que j'assure mon stage maintenant, ne t'inquiète pas, tu ne travailles pas pour rien, je te le promets.


---------------
Le site de ma maman
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed