Executable Java
RésoluQui peut me donner une explication simple ou une bonne adresse ou je peux en trouver une bonne marche à suivre pour créer un executable en java.
Merci d'avance.
Hélène
Hélène
25 réponses
Pour créer un exécutable Java, la problématique centrale porte sur la définition de la classe principale et du manifest Main-Class dans l’archive jar afin d’exécuter correctement l’application. Des solutions expliquent comment éviter l’erreur « Failed to load Main-Class manifest attribute ... » en utilisant soit la ligne Main-Class dans le manifest, soit la commande java -cp <jar> <classe principale="">. Pour cette étape, il est courant de créer un fichier manifest.txt avec Main-Class puis de compiler l’archive jar en incluant le manifest, ou d’employer une approche via jar -cfe et chmod +x. D’autres remarques précisent que sous Windows, double‑clic ou un fichier .bat peut lancer l’exécutable, tandis que Linux nécessite des permissions d’exécution et des instructions explicites pour démarrer la JVM.</classe></jar>
-
Tiens, comme ce lien vient en premier dans la recherche Google sur le message "Failed to load Main-Class manifest attribute from xxx", je vais mettre le problème (et sa solution) que j'ai rencontré aujourd'hui...
J'ai trouvé un fichier jar de librairie (quickhull3d pour ne pas le nommer) qui a une classe de test (avec une méthode main() dedans, bien sûr).
J'ai essayé de lancer la classe avec la commande :java -jar quickhull3d.jar quickhull3d.SimpleExample
et j'ai eu le message ci-dessus !
Je me suis gratté la tête un moment, j'ai cherché sur Internet (et trouvé cette page !), en vain (mais je ne suis pas le seul avec ce problème).
Et finalement, avec un éclair de génie (ou plutôt, de lucidité au-delà de la brume de stupidité qui me cachait la solution, que je connaissais pourtant...) j'ai essayé :java -cp quickhull3d.jar quickhull3d.SimpleExample
et ça a fonctionné !
Bon, quelle est la différence ?
La première commande dit à Java de prendre le fichier .jar, d'ouvrir le fichier MANIFEST.MF dans le répertoire META-INF et de lire la ligneMain-Class: package.of.class.with.Main
qui est sensée donner le classpath vers la classe ayant une méthode main() à exécuter.
Java a allègrement et silencieusement ignoré mon path... Et le jar n'ayant pas l'info requise, j'ai eu cette erreur.
La deuxième commande dit juste d'utiliser le jar comme classpath et d'aller y chercher la classe dont je donne le package et nom.
Différence subtile mais importante !
J'espère que cette information sera utile à quelqu'un.-
pour une fois que CCM ne servent pas qu'a recueillir les pleures de noobs infoutus d'utiliser google...
Merci mille fois PhiLho pour ta solution, j'avais le même pb que toi et c'est bien le "-jar" qui me posait pb.
java -cp <NomDeMonJar>.jar <nom.des.packages.et.sous.package.separes.par.des.points>.<NomClassMain>
java -cp monjar.jar eu.societe.batch.Start
Notez l'absence de ".class" en fin de ligne. -
-
-
-
-
-
Bonjour, j'ai un fichier jar queje souhaiterais executer avec la commande java -jar
Le problème, c'est qu'il n'y a pas de ligne Main-Class dans Manifest.MF
J'en ai donc créer une, sauf, que je ne sais pas quoi mettre dans package et dans classe principale...
Pourriez vous me dire que dois-je y mettre ?
Merci d'avance
Rantanplansuisse -
Clique sur ton projet tu build apres tu vas dans ton repertoire de travail et tu cherche le dossier dist tu trouvera tn jar dedans .
-
comment estimez le temps d exection d une application( programme) en lagage c .
-
Pour créer un executable en Java il y à un excellent tutoriel en Français ici : https://baptiste-wicht.developpez.com/tutoriels/java/outils/executables/
-
Bonjour,
pour quelle utilisation tu en as besoin?
si c'est pour les utiliser dans tes projets c'est pas comme ca qu'il faut le faire cela depend de ton environnement de travail...sinon pour executer le contenu tu peux utiliser le cmd avec la commande :java -jar leNomDeTonJar
Bon courage! -
Bonjour à tous,
je suis novice dans les web services et j'ai besoin d'utiliser des .jar mais quand je clique dessus, il me dit comme probleme "Failed to load Main-Class manifest attribute from nom_dossier" mais pourtant ce sont des .jar de axis que je prends juste, j'ai aussi déja installé le JRE 6 de java.
Pourriez vous me dire ce que je dois faire pour résoudre ce problème?
Merci beaucoup -
Plz help
I execute my Test.jar then error display
Failed to load Main-Class manifest attribute from c:\PDA\Test\dist\Test.jar
Plz give me solution of this error
Thank you -
salut phltrain,
merci de m'avoir répondre jai contacté le cite et c'est facile à suivre .j'aimerais s'avoir comment utiliser ça pour faire communiquer un pc et une caisse enregistreuse en reseaux surtout que je ne connais pas bient la programmationt java .
merci de votre aide. -
salut phltrain,
merci de m'avoir répondre jai contacté le cite et c'est facile à suivre .j'aimerais s'avoir comment utiliser ça pour faire communiquer un pc et une caisse enregistreuseen reseaux surtout que je connais pas bient la programmationt java .
merci de votre aide. -
Bonjour,
gcj est actuellement en cours de développement. Il supporte awt mais pas encore swing.
Voici un lien:
http://programatrix.free.fr/java/001_tuto_gcj.html
a+ -
bonjour bolosse,
si vous avez une idee expliquez mois d'avantage .
merci. -
Ca reste quand meme du bytecode!!
mais pour generer du code machine avec java il ya gcj mais c pas encore top top -
bonjour,
qui peut m'aider pour faire une communication reseux entre pc et une caisse enregistreuse uniwell en utilisant la programmation java.
merci d'avance -
bonjour
qui peut m'aider pour faire une transmission d'un caractere d'un pc à une caisse enregistreuse a travers le port serie RS-232 en utilisant un programme en java.
merci -
bonjour
qui peut m'aider pour faire une transmission d'un caractere d'un pc à une caisse enregistreuse a travers le port serie RS-232 en utilisant un programme en java.
merci -
vous pouvez aussi utiliser javaw livre avec le sdk
dans votre fichier de commande (.bat) vous mettez plutot la commnde
javaw -jar monFichier.jar
ca a pour effet de lancer l execution sans afficher 1 fenetre msdos
ie votre application est lancee en arriereplan-
-
@HélèneSalut , je ne sais pas si je tombe sur la bonne personne à qui je voudrais demander tas d'explication dans le domaine de l'informatique de gestion comme ça été ma spécialité de diplôme universitaire depuis 3 ans, et c'est la raison pour la quelle j'aurais besoin d'aide de votre part pour bien me retrouver à nouveau au bout de ma formation et reprendre les base de la programmation sachant que j'avais soutenu ma mémoire avec le language delphi...
Bref, si ça vous nuit pas je vous serai reconnaissant et je site à l'occasion que je suis professionnel dans le domaine audiovisuel à titre de monteur virtuel et si vous.
Je suis d'avantage ravi de vous écrire et je souhaite approfondir mes connaissence sous votre patronnage chère Hélene :).
A plutard
Merci (Blitzkrieg)
-
-
Merci Philitrain de répondre à mes questions, je t'en suis vraiment reconnaissante.
Je vais essayer de modifier mon fichier MANIFEST.
Cependant, chaque fois que je modifie quelque chose dans ce dernier et que j'execute l'application le fichier MANIFEST ce vide.
C'est rageant.
Amitiés. -
Bonjour,
cette erreur provient vraissemblablement du fait que la classe principale n'est pas bien spécifiée dans le fichier manifest.txt. Il faut veiller à bien écrire:
Main-Class: [package].[sous-package].classePrincipale
où
- package est le nom du package contenant la classe principale,
- sous-package est le nom du sous-package éventuel contenant la classe principale
- classePrincipale est le nom de la classe principale sans l'extension .class -
Bonjour Hélène,
Effectivement, pour lancer un programme java, il faut que la machine virtuelle java soit installée. On peut la télécharger gratuitement sur http://www.java.sun.com
Merci pour tes bons voeux et à toi aussi je te souhaite une bonne année 2004
a+-
Hello, j'ai encore un peu besoin de ton aide.
La jre est installée, j'ai créer mon fichier jar, j'ai complété le fichier manifest, cependant, maintenant j'ai un message qui dit :
"Failed to load Main-Class manifest attribute from F:\Test\Test.jar
Pourrais-tu encore un fois éclairer ma lanterne.
Merci d'avance et bonne fin de journée.
-
- 1
- 2