[Java] export différent du programme eclipse

wiot -  
 gago -
Bonjour, j'ai un problème avec mon programme Java.

En fait je l'ance l'aplication depuis eclipse, et elle marche correctement.

Le problème est quand j'exporte l'apli en jar.

Jusqu'a présent ca marchais bien, mais depuis hier le fichier .jar à des bugs. En effet, la première page s'affiche mais les autres en liens ne marchent pas .

Je n'ai pourtant rien modifié dans le code relatif à l'ouverture des pages...

Le truc c'est que je place une messageDialog sur le clic qui doit déclencher l'ouverture de la page. Si il est avant le code d'ouverture, il marche. Si il est après, il ne se lance pas, et la page non plus bien sur.

public void actionPerformed(ActionEvent event)
{
JOptionPane.showMessageDialog(null, "Help page not available");
Data nf = new Data("Scheldt");
nf.setVisible(true);
nf.pack();
}

Je reprécise que ce programme marche sous éclipse mais pas seul.

Auriez vus déja eu ce problème?
Avez vous une idée de ce qui peu causer se problème.
A voir également:

14 réponses

kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Le .jar ne suffit pas pour faire fonctionner des appli graphique, il faut aussi le déployer avant de lancer l'application (installation).

Votre problème (qui était le mien comme celui de beaucoup d'autre :D) était de ne pas avoir les images affichées dans mes programmes (c'est le bug le plus flagrant donc je le prends en exemple pour une meilleur compréhension).
Cela vient du fait que même si vous avez tout dans votre .jar, lorsque vous double cliquez dessus pour lancer l'appli, l'appli va chercher vos images dans l'arborescance indiquée dans votre programme.
Par example si vos images se trouvent dans /images, lorsque vous lancer le programme via le jar (ou éclipse), les images vont être cherchées dans ./images.
Pour le .jar, comme il n'a pas été déployé, il ne trouve pas ces images puisque le dossier n'existe pas.
Pour ce faire, vous remarquerez que si vous placer votre .jar à la racine de votre projet, lorsque vous l'éxécuter il fonctionne tres bien, et ce parce qu'il arrive à trouver les images puisque le dossier et les images existent.

Donc, il faut pour que cela fonctionne (la meilleure chose selon moi) déployer votre application avant de la faire fonctionner.
Pour cela créez un programme d'installation (un batch par exemple) qui :
- copie votre jar là ou l'appli doit etre installée
- unjar le .jar de l'appli dans ce répertoire d'install

Ainsi, votre arborescance est crée, contenant ainsi les images et autre fichiers de properties.

Ca devrait fonctionner a priori.

Maintenant il se peut que vous ayez des problèmes avec la verison d'éclipse. Les .jar dans la version 3.2 merdouille un peu, passez en version 3.3 si cela ne va toujours pas et retesté.
Si ca ne passe toujours pas je ne sais pas :)

Bon courage !
2
Bj0 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   21
 
perso jai deja eut beaucoup de probleme avec les jar et éclipse ...
mais en général c'était dut aux images ... as tu des images dans ton application?
1
wiot
 
Oui

C'est une interface graphique avec des cartes...

Tu as su résoudre ces problèmes?
0
wiot
 
Tu me conseille d'utiliser un autre log ?

Si oui lekel?
0

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

Posez votre question
wiot
 
Merci de ta réponse.

Mais mon problème est que les fenêtres que doit ouvrir mon programme ne souvrent pas !
(appli multi-fenêtres).

Ces pages s'ouvrent normalement sous éclipse !

Enfin voila :/
0
nameless
 
Bonjour, j'ai le même problème mon appli marche bien sous eclipse mais le .jar créé par éclipse ne marche pas entièrement.

Est ce du au fait que j'ai trop de classes ? ou de package ?

Si vous avez trouver une solution pouvez-vous la poster ?
merci
0
wiot
 
Bah écoute sur la même machine ca marche pas chez moi ^^.
0
gago
 
Je crois aussi que c'est une question de la version du JRE parce que lorsque je déploie mon .jar avec la version JRE 5.0,cela marche très bien , il déploie aussi le dossier image( ex : si dans le code , il y 'avait \\image). Mais par contre avec une version de JRE comme 1.6 , cela ne marche. Donc attention à la version !!
0
Bj0 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   21
 
ouai jai su le résoudre en mettant mon dossier image a un endroit spécifique ... je croi ( mais je ne suis pa certain ) qu'il fau le mettre a la racine de ton projet
ce qui est chiant c kil fau changer tout les chemin dans ton code ...
-1
wiot
 
Bah je l'exporte déja dans le même fichier que le projet.
J'ai testé avec les images dans un fichier ./images => marche pas
J'ai testé avec les images dans ./ => marche pas...

J'ai changé mon mode d'affichage de l'image (en virant le sous prog et en faisant directement dans le constructeur...

nerf :(
-1
Bj0 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   21
 
arf :S c vraiment nul pour les jar éclipse ... je ne sais pa alors
-1
Bj0 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   21
 
ba perso j 'utilise éclipse c'est un outils tré puissant j'adore ... mais a chak fois je galere pour les jar ... et je ne suis pa le seul...
-1
nameless
 
Bon j'ai trouver la solution en fait il s'agit des vertions des JRE.
Il faut la meme vertion sur toute les machines qui vont utiliser l'application.
-1
nameless
 
tu est sur que tu n'a pas plusieur jre ou jdk d'installé ?
perso sur mon pc j'avais 2 JDK et 3 JRE =/
-1