Téléchargement
illégal
Posez votre question Signaler

Executable Java [Résolu]

Hélène - Dernière réponse le 29 mars 2012 à 10:57
Bonjour,

Qui 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
Lire la suite 

Executable Java »

Suggestions
33 réponses
Réponse
+22
moins plus
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 ligne
Main-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.
Volnheis - 16 sept. 2011 à 12:40
Dans eclipse à l'export suffit de lui indiquer la MainClass monpackage.laclasse.
nikotikcho - 13 oct. 2011 à 13:08
expliquer plus comprensiblement
grouchy - 29 mars 2012 à 10:57
Merci, ça marche nickel
Ajouter un commentaire
Réponse
+3
moins plus
Bonsoir,
Il suffit de créer une archive (.jar) exécutable.
a+
Ajouter un commentaire
Réponse
+2
moins plus
Ok, C'est fait, mais que dois-je faire après.
D'après ce que j'ai compris, il faut télécharger la JDK, faire un document MANIFEST et un fichier bat.
Cependant, tous les exemples que je possède ne sont pas très explicite, je souhaite trouver un document qui me donnerait une marche à suivre facile à comprende.

Merci de votre aide.
Bonne année
Ajouter un commentaire
Réponse
+2
moins plus
Bonsoir,
En gros, il faut créer un fichier manifest.txt contenant la ligne:
Main-Class: classePrincipale

Puis créer l'archive .jar sans oublier l'option pour l'inclusion du fichier manifest (cf jar -help), puis chmod +x monFichier.jar (sous linux)
Voilà l'exécutable est créé, pour l'exécuter:
./monFichier.jar
Sous win, on peut cliquer directement sur le fichier .jar ou on crée un fichier .bat contenant la ligne:
java monFichier.jar
Toute la documentation est reprise de façon fort complète sur:
http://java.sun.com/docs/books/tutorial/jar/index.html
a+
Ajouter un commentaire
Réponse
+1
moins plus
moi ausi j'ai le même problème mais essaye une recherche sur google "InstallAnywhere" bonne chance !
Ajouter un commentaire
Réponse
+1
moins plus
Merci Philtrain,

cependant, en cliquant sur le fichier jar, j'ai une boite de dialogue qui dit que "Windows ne peut pas ouvrir le fichier car il doit connaître le programme utilisé pour sa création".

Est-ce parce que je doit obligatoirement avoir la JRE ?.

Merci d'avance pour ta réponse et je te souhaite une bonne année 2004.
Ajouter un commentaire
Réponse
+0
moins plus
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+
Hélène - 4 janv. 2004 à 14:07
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.
Ajouter un commentaire
Réponse
+0
moins plus
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

- 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
Hélène - 8 janv. 2004 à 18:28
Victoire !

Tout fonctionne, encore merci.

A Bientot
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Ca reste quand meme du bytecode!!
mais pour generer du code machine avec java il ya gcj mais c pas encore top top
philtrain- 12 janv. 2004 à 20:25
Bonsoir bolosse,
Il ne faut pas oublier qu'un des intérêts de java est d'être un langage multi-plateforme. Archiver ses classes dans un jar exécutable permet justement de le faire fonctionner sur plusieurs OS, à condition bien sûr que la jvm soit installée.
a+
Ajouter un commentaire
Réponse
+0
moins plus
bonjour bolosse,
si vous avez une idee expliquez mois d'avantage .
merci.
Ajouter un commentaire
Réponse
+0
moins plus
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+
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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!
Ajouter un commentaire
Ce document intitulé « Executable Java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Executable Java - page 2