Probleme jar+manifest+classpath

romg2 Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 1 octobre 2009 - 6 janv. 2009 à 16:06
romg2 Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Derniè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")+"]");
}
}


Le MANIFEST.MF :

Code :Manifest-Version: 1.0
Class-Path: . ..
Main-Class: main.test


A l'exécution :

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)


Meci pour votre aide !

5 réponses

romg2 Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Derniè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.
0
cs_sekka Messages postés 26 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 24 janvier 2009
7 janv. 2009 à 10:59
bjr tt
essayer de changer le jdk
0
Utilisateur anonyme
13 janv. 2009 à 19:29
Ca ne vient pas de ton JDK, sekka dit n'importe quoi. Je vais essayer de faire le test chez moi, j'ai un JAR sous la main.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Utilisateur anonyme
13 janv. 2009 à 19:39
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.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
romg2 Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Derniè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 !
0
Rejoignez-nous