242 votes

Comment exécuter un fichier JAR

J'ai créé un fichier JAR comme ceci :

jar cf Predit.jar *.*

J'ai exécuté ce fichier JAR en double cliquant dessus (cela n'a pas fonctionné). Je l'ai donc exécuté à partir de l'invite DOS comme ceci :

java -jar Predit.jar

Il a soulevé des exceptions "Failed to load main class". J'ai donc extrait ce fichier JAR :

jar -xf Predit.jar

et j'ai exécuté le fichier de classe :

java Predit

Il a bien fonctionné. Je ne sais pas pourquoi le fichier JAR n'a pas fonctionné. Veuillez m'indiquer les étapes à suivre pour exécuter le fichier JAR.

231voto

Jon Skeet Points 692016

Vous devez spécifier une classe principale dans le manifeste du fichier jar.

Oracle tutoriel contient une démonstration complète, mais en voici une autre à partir de zéro. Vous avez besoin de deux fichiers :

Test.java :

public class Test
{
    public static void main(String[] args)
    {
        System.out.println("Hello world");
    }
}

manifeste.mf :

Manifest-version: 1.0
Main-Class: Test

Notez que le fichier texte doit se terminer par une nouvelle ligne ou un retour chariot. La dernière ligne ne sera pas analysée correctement si elle ne se termine pas par une nouvelle ligne ou un retour chariot. nouvelle ligne ou un retour de chariot.

Alors cours :

javac Test.java
jar cfm test.jar manifest.mf Test.class
java -jar test.jar

Sortie :

Hello world

65voto

Lynch Points 2534
java -classpath Predit.jar your.package.name.MainClass

45voto

KARTHIKEYAN.A Points 4408

Avant de lancer le jar, vérifiez Main-Class: classname est disponible ou non dans MANIFEST.MF fichier. MANIFEST.MF est présent dans le jar.

java -jar filename.jar

20voto

Florian Points 1903

Vous devez ajouter un manifeste au jar, qui indique au runtime java quelle est la classe principale. Créez un fichier 'Manifest.mf' avec le contenu suivant :

Manifest-Version: 1.0
Main-Class: your.programs.MainClass

Remplacez 'your.programs.MainClass' par votre classe principale actuelle. Mettez maintenant le fichier dans le fichier Jar, dans un sous-dossier nommé 'META-INF'. Vous pouvez utiliser n'importe quel utilitaire ZIP pour cela.

16voto

nagendra547 Points 1847

Une approche très simple pour créer des fichiers .class, .jar.

Exécution du fichier jar. Pas besoin de se préoccuper trop du fichier manifest. Rendez-le simple et élégant.

Exemple de programme Java Hello World

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Compilation du fichier de classe

javac HelloWorld.java

Création du fichier jar

jar cvfe HelloWorld.jar HelloWorld HelloWorld.class

ou

jar cvfe HelloWorld.jar HelloWorld *.class

Exécution du fichier jar

 java -jar HelloWorld.jar

Ou

java -cp HelloWorld.jar HelloWorld

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X