Problème de Manifest

Résolu
cyril4900 Messages postés 13 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 7 août 2007 - 19 avril 2007 à 16:14
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 20 avril 2007 à 13:02
Bonjour à tous,

Je veux créer un jar exécutable contenant lui même des jars externes (jfreechart) pour mon projet. Je développe sur eclipse. Tout d'abord j'ai inclus à mon pj un dossier lib contenant tous les jars externes utilisés. Je les aient ajoutés dans éclipse, et aucun soucis , tt marche.
Mon manifest est le suivant :

Manifest-Version: 1.0
Main-Class: Ihm
Class-Path: lib/jcommon-1.0.9.jar lib/jfreechart-1.0.5.jar lib/jfreechart-1.0.5-experimental.jar lib/jfreechart-1.0.5-swt.jar

Le problème est evidement que j'ai des NoClassDefFoundError, car le jar ne vient pas rechercher à l'interieur des differents jar, les classes importés. Je ne vois pas le problème donc si qq à une idée
Merci

PS : Je suis consciens que de nombreuses questions ont été posés à ce sujet, mais aucune ne ma encore répondus, voila pourquoi je post aujourd'hui. Je souhaite aussi régler le pb à la main et ne pas utiliser un plugin ou qqch comme ça

9 réponses

cyril4900 Messages postés 13 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 7 août 2007
20 avril 2007 à 12:18
Trouvé !

Enfin, j'ai mis la main sur le prob, en faite il faut mettre un point pour indiquer que c bien un chemin relatif
Voici le manifest corrigé :

Manifest-Version: 1.0
Class-Path: .\lib\jcommon-1.0.9.jar .\lib\jfreechart-1.0.5.jar .\lib\j
 freechart-1.0.5-experimental.jar .\lib\jfreechart-1.0.5-swt.jar
Main-Class: Ihm

Merci à tous
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 avril 2007 à 16:25
Tu veux inclure les jars dans ton jar principal, ou déployer ton jar avec les jar externes situés dans le dossier lib ?

Dans le premier cas, je te conseille d'utiliser fat-jar qui fait cà tout seul très bien.
Dans le deuxième cas, ton fichier manifest me paraît correct, ca devrait marcher. Regarde tout de même que le fichier manifest de ton jar est bien le même (bizarrement, j'ai eu le problème qu'eclipse qui m'écrasais le manifest que je modifiais manuellement.
0
cyril4900 Messages postés 13 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 7 août 2007
19 avril 2007 à 16:36
Je veux déployer mon jar avec les jar externe situé dans mon dossier lib.
J'ai vérifier mon Manifest il est correct. J'ai la solution qui marche de décompresser tous mes jars pour obtenir un dossier avec tous les .class et de le placer à la racine de mon jar ex:
org/jfree/ect..

Cela marche mais moi je voudrais qu'il aille les chercher tout seul dans le dossier lib\.
Peut être que cela vient de mes imports ?
ex d'import :
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;

Si qq à une solution ?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 avril 2007 à 16:47
Non non, si ton build path sous eclipse est bien configuré, tu n'as rien à changer, seul le manifest dit à ton jar où il doit aller chercher les jar externes.

Dès que je rentre chez moi je te dis si mes manifest sont comme le tien.
0

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

Posez votre question
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
19 avril 2007 à 16:57
Salut,

si tu veux déployer ton jar(executable avec les jar externes situés dans le dossier lib oublies pas de renseigner le champ Class-Path dans le manifest de ton jar executable

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
19 avril 2007 à 18:02
Salut
je te suggére de mettre la ligne class-path avant le main-class, car j'ai remarqué qu'il pouvait y avoir des problèmes

Voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
19 avril 2007 à 18:19
Salut,

j'avais pas fait gaffe à ton Class-Path qui est pas valide tu fais
Class-Path: lib/jcommon-1.0.9.jar lib/jfreechart-1.0.5.jar lib/jfreechart-1.0.5-experimental.jar lib/jfreechart-1.0.5-swt.jar

or dans ta ligne tu ne mets pas de séparateur entre les jar ... essayes plsu :
Class-Path: lib/jcommon-1.0.9.jar , lib/jfreechart-1.0.5.jar , lib/jfreechart-1.0.5-experimental.jar
lib/jfreechart-1.0.5-swt.jar

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
cyril4900 Messages postés 13 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 7 août 2007
20 avril 2007 à 12:04
Merci à tous pour vos réponses.
Tout d'abord, jai essayer de mettre le class-path avant le Main-class : auncun changement
Ensuite, j'ai essayer de mettre des séparateurs entre mes jar : auncun changement
Je ne vois toujours pas ce qui cloche.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
20 avril 2007 à 13:02
Salut,

met des / pas \ sinon zero comptabilitée

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
Rejoignez-nous