[RESOLU] Eclipse, Jar exécutable, encore et encore...

Eclipse, Jar exécutable, encore et encore... [RESOLU] - Java - Programmation

Marsh Posté le 31-07-2006 à 18:55:20    

Bonjour, j'ai un petit soucis : j'ai une application Swing que je voudrais "centraliser" en un fichier jar.
Mon appli dispose uniquement d'une seule classe ayant un main (qui sera donc mon point d'entrée).
J'ai créé un Manifest.mf comme suit :  

Code :
  1. Manifest-Version: 1.0
  2. Sealed: true
  3. Main-Class: org.project.ProjectRun


Sous Eclipse, aucun problème : l'appli se lance correctement depuis la classe mère.
Lors de la création du jar, pas de soucis, je m'appuis sur le manifest existant et le jar est créé.
 
Problème : à l'exécution, il n'affiche rien et le thread prenant en charge l'application s'arrète (en gros, rien ne se passe).
 
Précision, la classe mère déclenche l'activation d'un thread sur SwingUtilities via sa méthode InvokeLater().  
 
Comment faire pour que cela marche?


Message édité par Goose6 le 01-08-2006 à 19:16:19
Reply

Marsh Posté le 31-07-2006 à 18:55:20   

Reply

Marsh Posté le 01-08-2006 à 14:11:12    

Salut,
déjà pour voir ce qui se passe, tu px taper en ligne de commande:
 
java -jar monjar.jar
 
comme ça tu auras ta sortie standard et tu pourras traiter les exceptions (s'il y en a).
 
Par défaut chez moi, un jar s'ouvre avec javaw donc là c sur que tu px pas trop savoir ce qui se passe.


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 01-08-2006 à 18:08:50    

Juste pour te dire : j'ai passé une demie journée aujourd'hui sur la même problématique. Je me suis rendu compte qu'Eclipse n'inclue pas les librairies dans les jars et qu'il faut donc rajouter une ligne du style Class-Path: ... et inclure à la mano les librairies dans le .jar.
Cependant, je n'ai quand même pas réussi et me suis donc orienté vers un .bat qui lance mon programme par la commande java -cp libs etc...
Donc désolé je ne peux pas t'aider mais juste te dire qu'un .bat, c'est plus facile!

Reply

Marsh Posté le 01-08-2006 à 19:15:44    

wapcamer a écrit :

Salut,
déjà pour voir ce qui se passe, tu px taper en ligne de commande:
 
java -jar monjar.jar
 
comme ça tu auras ta sortie standard et tu pourras traiter les exceptions (s'il y en a).
 
Par défaut chez moi, un jar s'ouvre avec javaw donc là c sur que tu px pas trop savoir ce qui se passe.


 
 :bounce: Merci ! Grace à cela, j'ai pu corriger l'erreur en cause : en fait, il me pétait une exception parce que je faisais appel à une ResourceBundle par son nom via un nom comportant des majuscules, ce qui n'était pas le cas du nom réel. Bref il ne retrouvait pas la ressource et n'exécutait rien. Mais comme je n'avais pas la console je ne m'apercevait de rien.
 
Une chose étrange par contre : comment se fait-il qu'Eclipse ait pu gérer ce problème sans pour autant relever l'exception en cause.
 
Enfin bref, merci beaucoup pour ce petit coup de pouce !
 
Concernant le bat, j'aurais pu passer par là mais comme ce projet avait justement pur but de centraliser l'utilisation de plusieurs bat via une seule interface, ... Mais merci quand même ;)

Reply

Marsh Posté le 01-08-2006 à 21:07:35    

Hey,
je suppose qu'eclipse comme d'autres IDE gère automatiquement le CLASSPATH, plus précisément il doit utiliser à l'éxécution le même CP qu'à la compilation.
 
Quant aux .bat, je suis pas trop pour, c'est tellement bien un .jar qui s'ouvre comme un .exe..... D'ailleurs en débrouillant bien son raccourci, tu px meme mettre une icone dessus; c plus sexy qu'un batch ...
 
 :hello:


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 07-08-2006 à 01:41:52    

salut,
je viens de terminer une application en java, et j'aimerai bien la rendre executable, je sais pas quoi faire, svp si vous pourriez filez moi une demarche detaillée
merci bien :)

Reply

Marsh Posté le 07-08-2006 à 07:11:00    

Reply

Sujets relatifs:

Leave a Replay

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