Salut,
J'aurai voulu savoir si mon manifest à l'air correct, j'ai un erreur lorsque j'éxecute mon Jar...
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Main-Class: packageCDTheque.CDTheque Class-Path: CDTheque.jar
Salut,
J'aurai voulu savoir si mon manifest à l'air correct, j'ai un erreur lorsque j'éxecute mon Jar...
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Main-Class: packageCDTheque.CDTheque Class-Path: CDTheque.jar
Es-tu sûr que le problème vient de ton manifest ? Je n'ai jamais eu de problème de déploiement suite à un manifest douteux, inexistant ou dans un mauvais répertoire (non conforme à la norme J2EE).
Perso, j'aurais ajouté une ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part Manifest-Version:
Salut,
On dirait que ton jar se référence lui-même dans son Class-Path, ce qui est inutile.
Ensuite ce serait utile d'avoir la commande que tu utilises pour lancer le jar ainsi que l'erreur que tu obtiens...
a++
Bon, voilà comment j'ai procédé... pas trop le temps de voir ça en détail maintenant => Up||Edit demain!
En fait, après quelques tatonnements, l'erreur a changé, j'ai l'impression que c'est la classe main qui pose problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 pogo@pogo-pc:~$ cd workspace/CDTheque/ pogo@pogo-pc:~/workspace/CDTheque$ cd packageCDTheque pogo@pogo-pc:~/workspace/CDTheque/packageCDTheque$ jar cvmf manif CDThqJar.jar *.class manifest ajouté ajout : CD.class(entrée = 3253) (sortie = 1284)(60% compressés) ajout : CDFrame.class(entrée = 11247) (sortie = 5137)(54% compressés) ajout : CDTheque.class(entrée = 794) (sortie = 413)(47% compressés) ajout : Database.class(entrée = 9877) (sortie = 4343)(56% compressés) ajout : Emprunt.class(entrée = 1405) (sortie = 652)(53% compressés) ajout : Personne.class(entrée = 1723) (sortie = 835)(51% compressés) pogo@pogo-pc:~/workspace/CDTheque/packageCDTheque$ java -jar CDThq.jar Unable to access jarfile CDThq.jar pogo@pogo-pc:~/workspace/CDTheque/packageCDTheque$ java -jar CDThqJar.jar Exception in thread "main" java.lang.NoClassDefFoundError: packageCDTheque/CDTheque pogo@pogo-pc:~/workspace/CDTheque/packageCDTheque$
pourquoi ne pas faire comme cela :
puisque tes ressources semblent se trouver dans le dossier CDTheque
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Main-Class: packageCDTheque.CDTheque Class-Path: CDTheque
Non : l'attribut Class-Path sert à référencer d'éventuelle autre librairie nécessaire à l'exécution du programme (driver JDBC, librairies tierces, etc.), et non pas à référencer le répertoire du projet...
En effet : la classe main n'est pas correctement ajouté à l'archive, puisqu'il faut conserver l'arborescence des packages à l'intérieur du jar. Or tu n'ajoutes que les classes...
Donc utilises le manifest suivant :
(attention à bien laisser une ligne vide à la fin)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Main-Class: packageCDTheque.CDTheque
Ensuite tu te rend dans le répertoire de base de ton classpath, c'est à dire celui qui contient le répertoire de base de ton arborescence en package : /workspace/CDTheque/ dans ton cas et tu ajoutes tes packages :
Et cela devrait marcher mieux
Code : Sélectionner tout - Visualiser dans une fenêtre à part pogo@pogo-pc:~/workspace/CDTheque$ jar cvmf manif CDThqJar.jar packageCDTheque
a++
Partager