problème d'exécution d'un jar

problème d'exécution d'un jar - Java - Programmation

Marsh Posté le 06-09-2004 à 18:18:23    

Bonjour;
 
J'essaye d'exécuter un jar que j'ai crée et j'ai ce msg d'erreur à l'exécution du jar:
 
Exception in thread "main" java.lang.NoClassDefFoundError: AppliPrincipal
 
Sachant que mon fichier manifest contient :
 
Manifest-Version: 1.0  
Main-Class: .AppliPrincipal  
Classpath: .\Analyseur.jar
 
Construction du jar :
 
jar cmf manifest.txt Analyseur.jar .
 
Exécution du jar :
 
java -jar Analyseur.jar

Reply

Marsh Posté le 06-09-2004 à 18:18:23   

Reply

Marsh Posté le 06-09-2004 à 19:14:42    

t'aurais pas un peu oublié d'y mettre tes classes dans ton jar? [:itm]
 
 
(jar tf tonjar.jar)


Message édité par the real moins moins le 06-09-2004 à 19:15:04

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 07-09-2004 à 15:10:19    

the real moins moins a écrit :

t'aurais pas un peu oublié d'y mettre tes classes dans ton jar? [:itm]
 
 
(jar tf tonjar.jar)


 
excatement je pense comme toi the real moins moins qu'il n'a pas mis les .class dans son jar et donc c normal que ça plante !


---------------
"Rendez tout aussi simple que possible mais ne simplifierez rien" Albert Einstein
Reply

Marsh Posté le 07-09-2004 à 15:14:46    

axk47 a écrit :

excatement je pense comme toi the real moins moins qu'il n'a pas mis les .class dans son jar et donc c normal que ça plante !


 
Désolé mais j'ai bien tout ds le package (jar tf analyseur.jar).
Je ne sais pas d'ou ca vient ?

Reply

Marsh Posté le 07-09-2004 à 15:16:24    

fait peter le résultat du jar tf ...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 07-09-2004 à 15:16:42    

(100 balles sur un "problème" de packages)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-09-2004 à 11:07:24    

the real moins moins a écrit :

(100 balles sur un "problème" de packages)


 
100 balles aussi que l'attribut du manifest c'est pas 'Classpath' mais 'Class-path'

Reply

Marsh Posté le 08-09-2004 à 11:08:41    

y en a vraiment besoin d'alleur de cet attribut ??


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 08-09-2004 à 11:11:43    

vu ce qu'il y a dedans, non :o

Reply

Marsh Posté le 09-09-2004 à 14:04:26    

benou a écrit :

y en a vraiment besoin d'alleur de cet attribut ??


 
Quand tu as un jar qui contient qqch ;) l'attribut Class-path du manifest te permets de ne pas avoir à fournir un classpath à la jvm. Sinon c'est obligatoire.
 
Mais y'a toujours moyen de passer pas un script shell (ou batch) pour construire le classpath et lancer les jar executable

Reply

Marsh Posté le 09-09-2004 à 14:04:26   

Reply

Marsh Posté le 09-09-2004 à 15:06:18    

nan mais ok, mais là, ca sert à rien ...
 
d'ailleur, j'ai jamais trop compris à quoi ca pouvait servir le classpath dans le manifest : un classpath c'est dépendant de l'OS et de la machine sur laquelle est executé du code java => à quoi ca sert de foutre un truc dépendant de la machine dans une archive contenant du code qui doit tourner "Everywhere" ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 09-09-2004 à 15:28:33    

benou a écrit :

nan mais ok, mais là, ca sert à rien ...
 
d'ailleur, j'ai jamais trop compris à quoi ca pouvait servir le classpath dans le manifest : un classpath c'est dépendant de l'OS et de la machine sur laquelle est executé du code java => à quoi ca sert de foutre un truc dépendant de la machine dans une archive contenant du code qui doit tourner "Everywhere" ?


je livre une appli qui a besoin de 3 libs et c'est tout par exemple...
je mets ces 3 libs dans mon manifest, et un java -jar toto.jar va se lancer comme il faut.
 
=> sous windows, le doubleclick sur le jar va marcher.

Reply

Marsh Posté le 09-09-2004 à 15:39:46    

(à condition de livrer les libs avec et que l'user les foute pas n'importe ou, mais j'ai l'impression que le concept à du mal à rentrer dans la tetabenoo, c'est pas la premiere fois qu'il pose la question [:petrus75])


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 09-09-2004 à 23:09:27    

lorill a écrit :

je livre une appli qui a besoin de 3 libs et c'est tout par exemple...
je mets ces 3 libs dans mon manifest, et un java -jar toto.jar va se lancer comme il faut.
 
=> sous windows, le doubleclick sur le jar va marcher.


ok, mais quand tu indiques ces 3 libs, il faut que tu donnes le chemin vers ces 3 libs (c'est ca le rôle d'un classpath), hors l'emplacement de ces jars peut être différent d'un poste à l'autre => Comment tu peux savoir quand tu créées l'archive où vont êtres les jars en questions quans elle sera executée sur un autre poste ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 09-09-2004 à 23:10:42    

NNNNNNBORDEL !!!
BENOU !!
tu distribute ton appli sous forme d'un tgz
supermachin-1.0/machin.jar
supermachin-1.0/lib/trucmuche.jar
supermachin-1.0/lib/pouet.jar
supermachin-1.0/lib/bidule.jar
 
!!!


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 09-09-2004 à 23:21:54    

the real moins moins a écrit :

NNNNNNBORDEL !!!
BENOU !!
tu distribute ton appli sous forme d'un tgz
supermachin-1.0/machin.jar
supermachin-1.0/lib/trucmuche.jar
supermachin-1.0/lib/pouet.jar
supermachin-1.0/lib/bidule.jar
 
!!!


et ca marche les classpath relatif au jar dans le manifest ?  :heink:


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 09-09-2004 à 23:50:06    

ben tiens


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-09-2004 à 19:32:04    

c quoi le "." la:
 .AppliPrincipal  
 
jamais vu  

Reply

Marsh Posté le 15-09-2004 à 19:33:08    

benou a écrit :

nan mais ok, mais là, ca sert à rien ...
 
d'ailleur, j'ai jamais trop compris à quoi ca pouvait servir le classpath dans le manifest : un classpath c'est dépendant de l'OS et de la machine sur laquelle est executé du code java => à quoi ca sert de foutre un truc dépendant de la machine dans une archive contenant du code qui doit tourner "Everywhere" ?


 
si c'est un chemin relatif jvois pas le probleme  :??:
 
 
edit: grilled mais c'est pas grave.
 
ca passe les chemins relatifs bien sur ;)


Message édité par veryfree le 15-09-2004 à 19:34:54
Reply

Marsh Posté le 15-09-2004 à 21:14:55    


Beh ouais, tu es prié de fourguer toutes les librairies dont l'applic à besoin p.e. dans un sous répertoire lib et de les renseigner dans ton manifest, genre lib/machin.jar lib/truc.jar.
 
Et tu roules anywhere anytime, zats ze byouti of Java.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 15-09-2004 à 23:18:16    

... ben je sais [:mlc]
je disais à benou "ben tiens, manquerait plus que ça que ça marche pas les path relatifs"
 
...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-09-2004 à 23:36:41    

ben c'est assez étonnant je trouve : tu mets des path relatifs à l'intérieur d'un jar. ca veut dire que le jar ne se suffit pas à lui tout seul et tu n'as aucune garantit que les jars nécessaire vont bien se trouver à côté au moment où l'appli sera lancé ...
 
c'est assez bizarre je trouve cette histoire de classpath dans le manifest. Ca va à l'encontre de l'idée que je me fais d'un jar...
 
ils auraient du faire un truc à la ear ou war pour les applications...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 15-09-2004 à 23:47:17    

PUTAIN BENOU TU FAIS CHIER CA FAIT VINGT-CINQ FOIS QU'ON RESSASSE LA QUESTION ET A CHAQUE FOIS T4AS OUBLI2 QU4ON T4AVAIT D2J0 EXPLIQU2


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 15-09-2004 à 23:49:00    

benou a écrit :


ils auraient du faire un truc à la ear ou war pour les applications...


uberjar, merci au revoir.
 
 
mais c'est pas compatible avec qques licenses, dont celles de sun, à mon avis.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-09-2004 à 00:08:54    

the real moins moins a écrit :

PUTAIN BENOU TU FAIS CHIER CA FAIT VINGT-CINQ FOIS QU'ON RESSASSE LA QUESTION ET A CHAQUE FOIS T4AS OUBLI2 QU4ON T4AVAIT D2J0 EXPLIQU2


rien à voir, je donne un avis.


Message édité par benou le 16-09-2004 à 00:09:50

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-09-2004 à 00:09:36    


t'as une façon pénible de dialoguer toi depuis quelques temps ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-09-2004 à 00:13:13    

en meme temps, j'ai un peu l'impression qu'on tourne en rond, à force c'est énervant, tu comprends [:itm]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-09-2004 à 00:14:13    

benou a écrit :

ben c'est assez étonnant je trouve : tu mets des path relatifs à l'intérieur d'un jar. ca veut dire que le jar ne se suffit pas à lui tout seul et tu n'as aucune garantit que les jars nécessaire vont bien se trouver à côté au moment où l'appli sera lancé ...
 
c'est assez bizarre je trouve cette histoire de classpath dans le manifest. Ca va à l'encontre de l'idée que je me fais d'un jar...
 
ils auraient du faire un truc à la ear ou war pour les applications...


 
oui mais qd les licences sont differentes ca peux poser un probleme :/
 
sinon concernant la "garantit" je dit vive les installeurs  [:veryfree]

Reply

Marsh Posté le 16-09-2004 à 00:14:47    

the real moins moins a écrit :

en meme temps, j'ai un peu l'impression qu'on tourne en rond, à force c'est énervant, tu comprends [:itm]


je vois surtout que tu perds pas une occasion pour foncer dans le tas ...  
enfin bon voilà quoi .... be cool


Message édité par benou le 16-09-2004 à 00:15:28

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-09-2004 à 00:15:57    

veryfree a écrit :

oui mais qd les licences sont differentes ca peux poser un probleme :/


genre ?
 
en quoi ca ose plus problême que dans le cas des ear ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-09-2004 à 00:17:20    

benou a écrit :

genre ?
 
en quoi ca ose plus problême que dans le cas des ear ?

ben ça n'en pose pas plus, seulement je connais pas une seule application "grand public" qui soit distribuée en ear ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-09-2004 à 00:20:52    

benou a écrit :

genre ?
 
en quoi ca ose plus problême que dans le cas des ear ?


 
jpensait plus a un jar contenant tout les autres jars.
si un jar n'est pas livré avec les sources, il faudrait alors le décompressé pour en refaire un et ca c'est souvent interdit par les licences.
 
les ear connais pas trop mais ca existe des appli desktop distribué sous ce format?

Reply

Marsh Posté le 16-09-2004 à 00:26:49    

non.
mais uberjar te construit un jar avec les autres jars dedans sans les deconstruite...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-09-2004 à 12:23:45    

the real moins moins a écrit :

... ben je sais [:mlc]
je disais à benou "ben tiens, manquerait plus que ça que ça marche pas les path relatifs"
 
...


Oui, oui, je ne faisais que surenchérir pour benou un peu dans les choux sur le coup.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 16-09-2004 à 12:26:09    

benou a écrit :

ben c'est assez étonnant je trouve : tu mets des path relatifs à l'intérieur d'un jar. ca veut dire que le jar ne se suffit pas à lui tout seul et tu n'as aucune garantit que les jars nécessaire vont bien se trouver à côté au moment où l'appli sera lancé ...
 
c'est assez bizarre je trouve cette histoire de classpath dans le manifest. Ca va à l'encontre de l'idée que je me fais d'un jar...
 
ils auraient du faire un truc à la ear ou war pour les applications...


C'est clair, une erreur dans ton classpath et ça te pète à la tronche lors de l'exécution. T'as intérêt à bien, bien tester ton packaging.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 16-09-2004 à 14:16:28    

sircam a écrit :

C'est clair, une erreur dans ton classpath et ça te pète à la tronche lors de l'exécution. T'as intérêt à bien, bien tester ton packaging.


c'est pas ce que je veux dire...
mais je vous laisse avec vos certitudes. j'ai pas envie de me battre contre vos avis bien tranchés.


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-09-2004 à 14:27:59    

benou a écrit :

c'est pas ce que je veux dire...
mais je vous laisse avec vos certitudes. j'ai pas envie de me battre contre vos avis bien tranchés.


Fait pas le grognon. Je t'ai répondu "oui" sur base de :
 
"tu n'as aucune garantit que les jars nécessaire vont bien se trouver à côté au moment où l'appli sera lancé ... "
 
alors t'as pas à te battre en fait.
 
Alors si c'est pas ce que tu veux dire, tu peux reformuler.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 16-09-2004 à 15:00:18    

benou a écrit :

c'est pas ce que je veux dire...
mais je vous laisse avec vos certitudes. j'ai pas envie de me battre contre vos avis bien tranchés.

[:cupra]
 
le seul truc c'est que tu dois distribuer ton appli avec d'autres fichiers que ton jar. mais à priori y'a pas de raison que l'utilisateur les deplace, ces autres jars!?
Sinon uberjar, t'as essayé? :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 16-09-2004 à 15:26:45    

the real moins moins a écrit :


Sinon uberjar, t'as essayé? :o


visiblement faut utiliser maven ...
et je me suis dis que "un jour" j'essayerait maven. j'en profiterai pour regarder ce truc là.
 
Mais si tu veux nous faire part de tes remarques sur cet outil, t'es le bienvenu. C'est un peu ca l'esprit du forum à la base, pas simplement filler des liens.
 
 
 
je dois être un peu ennervé moi en fait ...


Message édité par benou le 16-09-2004 à 15:31:51

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 16-09-2004 à 15:31:53    

je pense pas que maven soit obligatoire non !?
et je vois pas ce que je pourrais te raconter sur maven. il est loin d'etre parfait mais je conçoit mal de commencer un projet sans lui, à present. et à part, te raconter ma vie avec maven, j'ai pas le temps, et en plus, tu prend 30 minutes pour essayer, et t'auras ton avis.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed