Probleme execution .jar

Résolu
Signaler
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
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

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
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
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
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");
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
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)
}
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
8
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
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
Je pourrai te répondre si tu me donnes le nom de l'exception levée et éventuellement, la trace.
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
8
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 :
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
Alors ca marche maintenant ?
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
8
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
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
Ok, tout est réglé.

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

Merci