Probleme execution .jar

Résolu
profiter Messages postés 205 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 mars 2013 - 15 sept. 2011 à 00:39
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 25 sept. 2011 à 12:10
bonsoir,

l'ai fait le jar de mon application en utilisant fatjar ( c'est lui qui me permet d'inclure des jar dans le jar principal )

alors mon probleme c'est que j'ai des JDialog qui s 'ouvre quand je clique dans un bouton du JToolbar ou un item du menu
ca marche bien lorsque j'execute l'application

mais lorsque j'ai creer le .jar executable 2 JDialogs parmi les autres ne s'ouvre pas lorsque je clique sur leur boutons associés alors qu'il souvre tres bien si j'execute dans eclipse

si vous voulez je peux poster le code des ces classes
est ce que vous avez une idée d'ou peut parvenir cette erreur


merci d'avance

9 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
17 sept. 2011 à 10:35
Les images ne sont pas passées.

Cependant, je pense que tu as un problème avec les chemins de fichiers relatifs qui te lève une FileNotFoundException.

Regarde ce que j'ai répondu ici : http://www.javafr.com/forum/sujet-LECTURE-FICHIERS-JAR_1547041.aspx, et essaye de faire la même chose
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
17 sept. 2011 à 10:35
Je te recopie le message, toi tu n'as pas de fichiers .jasper mais avec une autre extension, c'est idem :

Le problème vient du fait que ton application utilises le chemin : jasperreports/devis.jasper pour lire les fichiers, cette écriture fait référence au dossier dans lequel se trouve ton application.

Pour t'en sortir, tu peux utiliser les chemins absolus : C:\program files\nomApplication\... ou l'équivalent sous linux. Et ensuite, tu créés un installateur (des logiciels existent InstallAnyWhere par exemple) qui te copie les fichiers au bon endroit.

Ou alors, si tu n'as pas besoin de modifier le fichier que tu lis, tu le place dans un dossier source "ressources" et tu respectes l'arborescence en packages et tu pourras alors appeler getClass().getResource("devis.jasper");
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
15 sept. 2011 à 09:13
Bonjour,

Qu'est ce que tu utilises de particulier sur ces deux fenetres ? La lecture d'un fichier texte ? Un accès à une base de données ?

Tu peux peut être essayer de récupérer la log dans un fichier texte en faisant un

try{
   //Lancement de tes traitements
}
catch(Exception e){
   StringBuilder sb = new StringBuilder();
   for(String s : e.getStackTrace()){
      sb.append(s).append("\n");
   }
   //Ecriture de sb.toString() dans un fichier (tu trouveras des codes sur internet)
}
0
profiter Messages postés 205 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 mars 2013 8
16 sept. 2011 à 15:37
merci pour cette idée

un autre ami m'a proposé d'executé mon jar a partir de la ligne de commande

java -jar C:\.......\monjar.jar

je l'ai fait
lorsque j'ai cliqué sur le bouton associé a mon fameux jdialog l'exeption est levé dans la ligne de commande
je suis allé reglé le prob puis recreer le jar et ca marche

une chose que je n'ai pas compris c'est pourquoi cette exception qui levé dans le jar ne se leve pas lors de l'execution sur eclipse

est ce que vous avez une idéé

merci
0

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

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
16 sept. 2011 à 15:48
Je pourrai te répondre si tu me donnes le nom de l'exception levée et éventuellement, la trace.
0
profiter Messages postés 205 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 mars 2013 8
16 sept. 2011 à 17:02
voila une concernant le JXDatePicker de swingX
que je declare date = new JXDatePicker(new Date())



et une autre exeption qu'elle ne se leve que lors de la ligne de commande mais pas dans l'execution ni dans le jar

voila concernant les chemins de fichiers :
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
24 sept. 2011 à 18:48
Alors ca marche maintenant ?
0
profiter Messages postés 205 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 mars 2013 8
25 sept. 2011 à 11:49
d'abord je te remercie Julien39 beaucoup pour ton aide et ton suivi
vraiment c'est tres gentil de ta part
Ou alors, si tu n'as pas besoin de modifier le fichier que tu lis, tu le place dans un dossier source "ressources" et tu respectes l'arborescence en packages et tu pourras alors appeler getClass().getResource("devis.jasper");


j'ai appliqué a la lettre ce que tu m'a dis et je me suis assuré qu'ils sont dans le classpath puis j'ai fait le jar et ca marché

merci bien
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
25 sept. 2011 à 12:10
Ok, tout est réglé.

Peux tu accepter les réponses qui t'on aidé à t'en sortir ?

Merci
0
Rejoignez-nous