romg2
Messages postés3Date d'inscriptiondimanche 31 décembre 2000StatutMembreDernière intervention 1 octobre 2009
-
6 janv. 2009 à 16:06
romg2
Messages postés3Date d'inscriptiondimanche 31 décembre 2000StatutMembreDernière intervention 1 octobre 2009
-
14 janv. 2009 à 09:05
Bonjour,
J'ai fait un exemple avec mon problème, histoire de ne pas perdre de
temps avec la lecture de mon code. Nous avons donc un .jar muni de son
MANIFEST. Voici la structure du jar d'exemple :
test.jar
.....|_META-INF
...........|_MANIFEST.MF
.....|_main
...........|_test.class
Le source du test.class :
Code :package main;
public class test {
public static void main(String[] args){
System.out.println("Classpath ["+System.getProperty("java.class.path")+"]");
}
}
Code :C:\Documents and Settings\st23830\Desktop>java -jar test.jar
Classpath [test.jar]
Question : pourquoi ne voit-il pas tout ce qui est définit sous
"Class-Path" dans le MANIFEST.MF ?
Ca me rend fou, comme d'habitude surement une connerie....
Merci si vous avez la réponse à ce problème!!
PS1 : J'ai pas mal cherché, je suis tombé sur quelques personnes qui
ont le même problème, à chaque fois elles ont utilisé un échapatoire
(classPath en dur, intégration du dossier visé directement dans le jar,
etc....)
PS2 : mon exemple est extrêmement simplifié, le vrai soucis est que
ResourceBundle.getBundle(....) ne va chercher que dans le classPath, on
ne peut pas lui spécifier de path. Mais je ne veux pas mettre de chemin
en dur dans le classPath, ni que les fichiers recherchés par getBundle
se trouvent dans le.jar. Par contre je veux que ça marche avec un jar
PS3 : ma version de java :
Code :C:\Documents and Settings\st23830\Desktop>java -version
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
romg2
Messages postés3Date d'inscriptiondimanche 31 décembre 2000StatutMembreDernière intervention 1 octobre 2009 6 janv. 2009 à 16:08
J'oubliais de préciser qu'après moult recherches, j'ai de plus en plus l'impression qu'on ne peut pas pointer autre chose que d'autres jar dans le MANIFEST, mais nul part je n'arrive à en avoir la confirmation.
Quand j'utilise ta ligne de code en dehors d'un JAR, j'obtiens ça :
Classpath /home/julien/Documents/programmation/java/kill/my_project N'oublie pas de mettre un saut de ligne en fin de fichier, certains éditeurs sous Windows ne le font pas automatiquement et ça peut tout faire merder.
romg2
Messages postés3Date d'inscriptiondimanche 31 décembre 2000StatutMembreDernière intervention 1 octobre 2009 14 janv. 2009 à 09:05
Salut,
En lançant directement le .class ? la oui on est d'accords.
Mais j'ai refait une tonne d'essais depuis avec le jar, et je n'ai toujours pas réussi. J'ai finit par contourner le problème, mais j'aimerais comprendre !