Executable crée depuis jar par Launch4j ne se lance pas

Fermé
Jules - 22 mai 2015 à 15:19
 Saturne - 4 janv. 2016 à 01:16
Bonjour,

Ne trouvant pas de solution sur internet et apres avoir passé une semaine à chercher, j'en viens à solliciter votre aide.

Je travail sous Eclipse et je suis chargé de créer un logiciel ( avec fenêtre) sous java pouvant se lancer en double cliquant sur l'exécutable.

Pour cela j'ai créé un jar avec Eclipse puis un exécutable (.exe) avec Launch4j. Mes path sont justes et mes versions java à jours.

Le soucis est que l'executable ne tourne pas sur tous les PC. Il y a dans le labo XP et Vista en 32 et 64 bits. Sur le PC que j'utilise (XP en 64bits), j'ai des versions JDK et JRE récentes, mes PATH sont ok car les jar executable et les .bat fonctionnent bien (c-a-d apparition de la fenêtre de mon logiciel). Quand je compile sous Eclipse, le logiciel se lance. Mais quand je clique sur le .exe crée grace à Launch4j et au .jar, il y a juste le Splash screen et puis plus rien. La fenetre du logiciel n'apparait pas.

Sur certains PC , j'ai reglé le problème en reglant des problèmes de compatibilité et d'Execution en tant qu'administrateur en faisant clique droit sur monApplication.exe. Cependant, sur mon PC actuel (XP en 64bits), ca n'a rien changé !


Quelqu'un peut-il m'aider à comprendre ce qu'il se passe svp ?!

HELP

1 réponse

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
22 mai 2015 à 16:05
Bonjour,

"sous java pouvant se lancer en double cliquant sur l'exécutable"
Pas besoin de launch4j pour ça, un jar exécutable suffirait.

En restant en pur Java tu n'aurais pas de problèmes d'interopérabilité avec les OS et tu pourrais même le faire fonctionner sous Linux, Mac, etc.

Eclipse peut générer des JAR exécutables, mais en ligne de commandes le résultat est plus propre (et pas plus compliqué) :

Tu créés un fichier Manifest.txt avec ce contenu (en mettant le bon nom de classe pour identifier où est la méthode main).

Main-Class: monPackage.MaClasse
 
NB. Ne pas oublier la deuxième ligne (vide).

Puis tu créés ton JAR comme ceci :

cd "C:\...\Workspace\MonProjet\src"
javac monPackage1/*.java monPackage2/*.java
jar cfm Appli.jar "C:\...\Manifest.txt" monPackage1/*.class monPackage2/*.class

En double cliquant sur le Jar, Windows va appeler le programme par défaut pour ouvrir les .jar (Java sur un système bien configuré) ce qui va lancer la méthode décrite dans le Manifest. Pas besoin d'exe !

Voir Running JAR-Packaged Software et Setting an Application's Entry Point
0
Tout a d'abord merci pour ta réponse.

Enfaite, avoir un fichier .exe fait partie du cahier des charges. Il est vrai que je peux tout aussi simplement uiliser mon jar exécutable ou alors un .bat avec " java -jar monAppli.jar" pour utiliser mon logiciel créé sous Éclipse mais je 'e veux pas me contenter de ça.

De plus, pourquoi m'indiquer comme créé un fichier jar alors que Éclipse le fait a merveille avec "Export" ?


Je répète ma problématique: impossible de lancer l'exécutable sur certains PC ( le .exe marche sur les 3/4 des PC du labo) alors que les .bat et .jar fonctionnent sur tous les PC
0
As-tu trouvé une solution ? J'ai le même problème.
0