java -jar ne prends pas le classpath en compte? :heink:

java -jar ne prends pas le classpath en compte? :heink: - Java - Programmation

Marsh Posté le 11-02-2003 à 13:47:08    

Hep,
 
Récemment on a changé deux trois trucs dans la manière de démarrer certains services et j'ai un petit soucis de classpath (si si cai vrai).
 
Bon: il y a un fichier jar (toto.jar) qui contient une méthode main  déclarée dans le manifest. A coté de ce jar là j'ai besoin d'un certains nombre d'autre jar que je définis dans une variable d'environnement TOTO_CP
 
Si je fais  
 

Citation :


java -cp $TOTO_CP -jar toto.jar /etc/toto.conf


 
je me mange une exception comme quoi il ne trouve pas une classe X. Or cette classe se trouve dans un des jar définis dans le classpath.
 
En ne changeant strictement rien (meme console) si je fais
 

Citation :


java -cp $TOTO_CP:toto.jar com.maboite.monservice.Toto /etc/toto.conf


 
la ça fonctionne :heink:
 
de prime abord j'ai l'impression que l'utilisation du paramètre -jar supprime l'effet du param -cp ... Ajouter les jars au classpath système n'y change rien (il ne prendrait donc que CE jar là en compte).
 
Ca me parait bizarre tout ca, qqun a une idée?
 
Merci :jap:


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

Marsh Posté le 11-02-2003 à 13:47:08   

Reply

Marsh Posté le 11-02-2003 à 14:09:52    

je n'ai pas essayé mais la doc de mon jdk spécifie :
 
Usage: java [-options] class [args...]
           (to execute a class)
   or  java -jar [-options] jarfile [args...]
           (to execute a jar file)
où le -jar est situé AVANT le -cp (dans les options).
 
C'est peut-être bêtement ça... ?

Reply

Marsh Posté le 11-02-2003 à 14:44:11    

a ta place j'essayerais avec jbuilder, et tu regarde la commande qu'il lance  
 
[:dehors2]

Reply

Marsh Posté le 11-02-2003 à 15:16:07    

krosso a écrit :

je n'ai pas essayé mais la doc de mon jdk spécifie :
 
Usage: java [-options] class [args...]
           (to execute a class)
   or  java -jar [-options] jarfile [args...]
           (to execute a jar file)
où le -jar est situé AVANT le -cp (dans les options).
 
C'est peut-être bêtement ça... ?


 
pas con du tout je vais essayer :jap:


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

Marsh Posté le 11-02-2003 à 15:16:13    

lorill a écrit :

a ta place j'essayerais avec jbuilder, et tu regarde la commande qu'il lance  
 
[:dehors2]


 
ban :o


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

Marsh Posté le 11-02-2003 à 15:18:43    


je n'en attendais pas moins  :jap:

Reply

Marsh Posté le 11-02-2003 à 15:22:16    

lorill a écrit :


je n'en attendais pas moins  :jap:  


 
fidèle à moi même :o


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

Marsh Posté le 11-02-2003 à 17:07:18    

je crois que dans le manifest, tu peux indiquer les jar dont ton jar a besoin pour executer la  classe définie en tant que main-class.
 
Ca a surement un rapport avec ton problème ...

Reply

Marsh Posté le 11-02-2003 à 17:39:45    

Oui, à ma connaissance, le jar soit être "self-contained", il doit contenir tout ce dont tu as besoin. Ou alors référencer lui même les autres JARs (via le MANIFEST) dont il peut avoir besoin.

Reply

Marsh Posté le 11-02-2003 à 17:44:45    

allez, ona être encore plus précis : http://java.sun.com/j2se/1.3/docs/ [...] cification
 
y a un attribut Class-Path

Reply

Marsh Posté le 11-02-2003 à 17:44:45   

Reply

Marsh Posté le 11-02-2003 à 18:27:28    

merci beaucoup :jap:


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

Marsh Posté le 11-02-2003 à 18:34:51    

DarkLord a écrit :

merci beaucoup :jap:


you're welcome  :jap:

Reply

Sujets relatifs:

Leave a Replay

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