OVH Cloud OVH Cloud

JAR et CLASSPATH

2 réponses
Avatar
Charly C
Bonjour,

Je souhaiterai vous soumettre un petit cas pratique rapide, afin de
recueillir vos avis.
J'ai fait 2 classes test.jar1.TestJar1 et test.jar2.TestJar2, TestJar2
utilisant TestJar1.

1er test:
J'ai mis TestJar1 dans un jar, et je lance "java .;[chemin]\testjar1.jar
test.jar2.TestJar2" et ça marche.

2e test:
J'ai mis TestJar1 et TestJar2 dans 2 jars, et je lance "java
.;[chemin]\testjar1.jar testjar2.jar" et ça marche plus!
En fait, la seule solution que j'ai trouvée, c'est d'indiquer dans la
variable Class-Path du manifest de testjar2.jar le chemin de testjar1.
Pouvez-vous me confirmer que c'est bien le fonctionnement normal, et qu'il
n'y a pas d'autre maniere de proceder? Dans ce cas, si pour une raison ou
une autre testjar1 est déplacé, je devrai refaire mon jar testjar2 pour
modifier la valeur Class-Path de son manifest? C'est bien comme ça marche???

Merci d'avance pour vos réponses et avis.

Charly

2 réponses

Avatar
Sky
Le Sun, 10 Jul 2005 10:50:11 +0200, Charly C a écrit :

Bonjour,

Bonsoir


2e test:
J'ai mis TestJar1 et TestJar2 dans 2 jars, et je lance "java
.;[chemin]testjar1.jar testjar2.jar" et ça marche plus!
En fait, la seule solution que j'ai trouvée, c'est d'indiquer dans la
variable Class-Path du manifest de testjar2.jar le chemin de testjar1.


Une autre solution serait d'utiliser l'option -cp en ligne de commande, ce
qui donnerait : "java -cp .;[chemin]testjar1.jar testjar2.jar".

L'option te permet d'ajouter des choses au CLASSPATH (jars,
répertoire avec des jars) juste pour l'execution.

Merci d'avance pour vos réponses et avis.



De rien

Sky

Avatar
Charly C
Merci beaucoup Sky pour ta réponse.
J'avais testé également l'option -cp mais sans constater de différence
avec -classpath.
En tout cas, la solution était toute toute bête! J'ai lancé tout simplement:
java -classpath .;[chemin]testjar1.jar;[chemin]testjar2.jar
test.jar2.TestJar2

Et oui, en mettant le testjar2 lui-même dans le classpath, et en exécutant
la classe TestJar2 contenue à l'intérieur, ça marche nickel!

Parfois franchement on se pose des problèmes j'vous jure! ;)

Merci
a+
Charly

"Sky" a écrit dans le message de news:


Bonjour,

Bonsoir


2e test:
J'ai mis TestJar1 et TestJar2 dans 2 jars, et je lance "java
.;[chemin]testjar1.jar testjar2.jar" et ça marche plus!
En fait, la seule solution que j'ai trouvée, c'est d'indiquer dans la
variable Class-Path du manifest de testjar2.jar le chemin de testjar1.


Une autre solution serait d'utiliser l'option -cp en ligne de commande, ce
qui donnerait : "java -cp .;[chemin]testjar1.jar testjar2.jar".

L'option te permet d'ajouter des choses au CLASSPATH (jars,
répertoire avec des jars) juste pour l'execution.

Merci d'avance pour vos réponses et avis.



De rien

Sky