Jar exécutable [Résolu]

Signaler
Messages postés
1
Date d'inscription
vendredi 7 novembre 2014
Statut
Membre
Dernière intervention
7 novembre 2014
-
 michoubidoumichel -
bonjour,
Si j'arrive à créer un jar exécutable, que ce soit directement à partir d'éclipse où depuis la console, je n'arrive pas à le faire exécuter par un double clic ou en le lançant.

Quand je le crée à partir d'éclipse en faisant export je devrais indiquer la main classe dans la fenêtre "jar manifest specification" mais le rectangle Main class qui devrait se trouver en bas de la fenêtre n'apparaît pas, alors comment faire?

Ma version de java est jdk1.7.0_51
merci de m'aider

2 réponses

Messages postés
16365
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
16 juin 2021
122
Bonjour,

Par exemple tu as un package hello et une classe HelloWorld :

package hello;
import javax.swing.JOptionPane;
public class HelloWorld {
    public static void main(String[] args) {
        JOptionPane.showMessageDialog(null, "Hello World!", "hello", JOptionPane.INFORMATION_MESSAGE);
    }
}

Si tu travailles avec Eclipse tu as un dossier "bin" dans ton projet avec les fichiers .class obtenus après compilation.

Tu y créés un dossier META-INF (en majuscules, c'est important) dans lequel tu créés un fichier MANIFEST.MF

Tu auras donc une hiérarchie de fichiers comme ceci :

└ bin
   ├ META-INF
   │  └ MANIFEST.MF
   └ hello
       └ HelloWorld.class


Dans le fichier MANIFEST.MF tu mets ceci :

Manifest-Version: 1.0
Main-Class: hello.HelloWorld
 

Très important : ne pas oublier la dernière ligne vide.

Ensuite tu créés un fichier zip avec les deux dossiers (META-INF et hello), et tu changes l'extension du .zip en .jar

Maintenant tu as un jar exécutable qui va lancer la classe HelloWorld.

bonjour,

mille fois merci, je suis désolé de ne pas avoir répondu plus tôt mais j'étais absent pendant le pont du 11 novembre.

je suis arrivé à un résultat en installant la JVM et Eclipse sur un autre pc, J'ai créé un fichier .bat et j'ai mis la commande java -jar <nom du fichier>.jar et j'ai exécuté le fichier depuis la console (MS DOS), j'ai eu le temps de voir le contenu du fichier MANIFEST.

Mais l'exécution du jar ne se faisait pas en double-cliquant dessus.

J'ai donc suivi tes conseils, effectivement, je n'avais pas créé de dossier META-INF c'est probablement pour ça que ça ne marchait pas.

Après avoir suivi tes instructions, maintenant ça marche, je suis bien content car ça fait 3 semaines que je suis dessus, mon cours ne parlait pas de ce dossier META-INF, je ne pouvais pas deviner.

merci encore