java -jar ne prends pas le classpath en compte? :heink: - Java - Programmation
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... ?
Marsh Posté le 11-02-2003 à 14:44:11
a ta place j'essayerais avec jbuilder, et tu regarde la commande qu'il lance
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 : |
pas con du tout je vais essayer
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 |
ban
Marsh Posté le 11-02-2003 à 15:22:16
lorill a écrit : |
fidèle à moi même
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 ...
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.
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
Marsh Posté le 11-02-2003 à 18:27:28
merci beaucoup
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
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
java -cp $TOTO_CP:toto.jar com.maboite.monservice.Toto /etc/toto.conf
la ça fonctionne
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
---------------
Just because you feel good does not make you right