Difference de resultat entre le jar et la compilation Eclipse

Résolu
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009 - 26 janv. 2009 à 19:55
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 27 janv. 2009 à 18:32
Bonjour,

je vais devenir dingue !

Mon problème est le suivant :

j'ai réalisé un projet, lorsque je le compile et l'execute avec eclipse, tout va bien il fait ce que je veux à la lettre ...

CEPENDANT, MAIS, BUT, :@

lorsque je l'exporte pour en faire un fichier jar executable, il ne fait vraiment pas ce que je veux, plus concretement, si je prends une fonctionnalité et que je la teste sur le compilateur elle marche à merveille, une fois executée depuis le jar , NADA il ne fait rien de rien !!!!


avez vous une idee de ce qui se passe ?

18 réponses

dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
27 janv. 2009 à 16:32
Re,

Pour lancer un jar en ligne de commande :

java -jar tonJar.jar

Désolé dark je t'ai devancé

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
27 janv. 2009 à 17:09
Salut,

Fatjar est un plugin eclipse pour incorporer des jar dans un jar principal justement (je l'utilisais à une époque, ca marche très bien), mais je te déconseille de l'utiliser : ca va produire un gros jar contenant tout dedans, et ca va à l'encontre du système de bibliothèque.

Il te suffit de référencer tes bibliothèques dans le fichier MANIFEST, ou de placer ces bibliothèque dans le classpath de ton application, et le tour est joué.

dvoraky: pas de soucis
______________________________________
DarK Sidious
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
26 janv. 2009 à 20:58
Salut,

Ca vient de la ligne 498 de la classe LaClasseQuiFaitTout
______________________________________
DarK Sidious
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
26 janv. 2009 à 21:10
merci ! ce fut tres constructif monsieur le "modérateur" ...
0

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

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
26 janv. 2009 à 21:20
Salut,

C'était juste pour te faire comprendre que sans savoir ce qu'est censé faire ta classe, on t'es d'aucune aide...

Exemple : tu va voir ton garagiste, et tu lui dit : ma voiture marche pas ! Comment veux-tu qu'il sache d'où ca vient si tu lui en dit pas plus, et s'il ne la voit pas ????
______________________________________
DarK Sidious
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
26 janv. 2009 à 21:22
non mais plus sérieusement ... je ne comprend pas ce qui se passe surtout que lorsque je compile sur eclipse ca tourne je n'ai pas un seul warning ! et lorsque j'execute le jar depuis la console, il me dit qu'il ne trouve pas la classe main alors que je fais bien attention de designer la classe main quand je crée le package et aussi, lorsque j'ouvre le jar directement, il s'execute ... :S :S :?
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
26 janv. 2009 à 21:25
oui oiu j'ai compris ca t'inquiete mais je me demandais si ce n'etait des soucis qui peuvent arriver, si des gens, qui ont plus d'experience que moi ont deja ete confrontes a ce souci ...

mais bon c'est un projet un peu lourd a mettre comme ca sur un forum, surtout que je pense que l'erreur doit etre tout bete puisque pas plus tard que vendredi dernier tout marchait a la perfection ...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
26 janv. 2009 à 21:26
Salut,

A ben on commence à progresser, on sait maintenant quelle est l'erreur : le MainClass qu'il ne trouve pas, mais c'est toujours pareil : comment veux-tu qu'on t'aide avec aussi peu de détails ???

Tu l'exécute comment à partir de la console ?
T'as vérifié le fichier MANIFEST de ton jar ? Est-ce que le MainClass y est renseigné ?

"lorsque j'ouvre le jar directement" : avec winzip ?
______________________________________
DarK Sidious
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
26 janv. 2009 à 21:28
Salut,

Tu sais, si eclipse produisait des jar qui ne fonctionnent pas, je pense qu'il y aurait beaucoup moins de personne qui l'utiliserait... tu crois pas ?

Si tu vois un truc qui marche pas, crois moi, ca vient d'une erreur de ta part, et non d'eclipse qui est testé et retesté et reretesté avant d'être mis à disposition des utilisateurs finaux. C'est la solution de facilité de dire que ca vient de l'outil et non de soit.
______________________________________
DarK Sidious
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
26 janv. 2009 à 21:29
pour apporter plus de precisions :

dans la console l'erreur retournee est:

Exception in thread "main" java.lang.NoClassDefFoundError: monprojet/jar
Caused by: at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: monprojet.jar. Program will exit.
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
26 janv. 2009 à 21:35
tu sais je fais une ecole d'ingenieur et je suis plutot bien placé pour savoir que des client comme Eclipse sont très abouti et je n'ai jamais remis en question eclispe !!! je ne sais pas ou tu as lu ca en tout cas dans mes propos ... bon sans polémiquer et sans rejeter la faute sur autre que moi ...

alors mon projet quand je l'execute c'est tout simplement en cliquant sur Run as
Java application ... et a partir de la console je fais : java monprojet.jar

sinon le MANIFEST j'en ai jamais entendu parler :s donc je n'ai jamais été vérifier de ce cote la ...

et enfin quand je dis j'ouvre mon jar, eh bien je double clique dessus et celui ci est executé grace a Java Platform SE Binary ...
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
26 janv. 2009 à 21:55
le manifest contient ceci :

Manifest-Version: 1.0
Main-Class: MainClass



sachant que ma classe main s'appelle MainClass ....


mais c'est curieux il n'y a que ces deux lignes ... j'ai pas tout compri mais sur le site de sun il y en a plus surtout que j'utilise pas mal de librairies ..
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
27 janv. 2009 à 16:43
ok ...

alors plus concretement, j'ai un bouton sur lequel j'appuie qui me permet d'importer un fichier xml et le met dans mon jtree... en compilant avec eclipse, le bouton marche il ne me retourne aucune erreur et le travail est fait ...

cependant, en executant avec la console, j'ai une java.lang.NoClassDefFoundError: org/jdom/JDOMException à la ligne où j'appelle la methode d'import du xml ...
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
27 janv. 2009 à 16:48
Ouais alors j'avas pas vu que tu avais des librairies que tu devais importer en même temps...
Exporter avec des librairies à l'intérieur de ton JAR généré... moi je sais pas faire...

Si Darksidious a une idée... désolé, peux plus t'aider là

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
27 janv. 2009 à 16:51
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
27 janv. 2009 à 16:52
on ma parlé de fatjar je sais pas ce que c'est je vais l'essayer ...
0
cs_coltman Messages postés 97 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 10 février 2009
27 janv. 2009 à 18:21
avec fatjar ca a marché ... bon eh bien je vais peut etre me contenter de ca, facilité et resultat immédiat ... merci pour vos reponses !
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
27 janv. 2009 à 18:32
Salut,

Il serait plus simple de faire ton fichier manifest à la main en incluant les bonnes bibliothèques... plutôt que de devoir lancer toujours fatjar pour faire ton jar au moindre changement de version d'une bibliothèque, surtout qu'ainsi tu apprendrais à utiliser un fichier manifest, ce qui, en java, est loin d'être inutile !!! A toi de voir.
______________________________________
DarK Sidious
0