web-dev-qa-db-fra.com

Comment faire un fichier jar exécutable?

J'ai un programme qui consiste en deux fichiers simples Java swing.

Comment créer un fichier jar exécutable pour mon programme?

69
Reuben

Un fichier jar est simplement un fichier contenant une collection de fichiers Java. Pour créer un fichier jar exécutable, vous devez spécifier l'emplacement de la classe main dans le fichier jar. Exemple code serait comme suit.

public class JarExample {

    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                // your logic here
            }
        });
    }
}

Compilez vos cours. Pour créer un pot, vous devez également créer un fichier manifeste (MANIFEST.MF). Par exemple,

Manifest-Version: 1.0
Main-Class: JarExample

Placez les fichiers de classe de sortie compilés (JarExample.class, JarExample $ 1.class) et le fichier manifeste dans le même dossier. Dans l'invite de commande, accédez au dossier où sont placés vos fichiers et créez le fichier jar à l'aide de la commande jar. Par exemple (si vous nommez votre fichier manifeste comme étant jexample.mf)

jar cfm jarexample.jar jexample.mf *.class

Il créera le fichier jarexample.jar exécutable.

75
isurusndr

Dans Eclipse vous pouvez le faire simplement comme suit:

Faites un clic droit sur votre projet Java et sélectionnez Exporter .

Sélectionnez Java -> Fichier JAR exécutable -> Suivant.

Sélectionnez la configuration de lancement et choisissez le fichier de projet comme classe principale .

Sélectionnez le dossier de destination où vous souhaitez l’enregistrer et cliquez sur Terminer.

36
Twinscode

La voici en une ligne:

jar cvfe myjar.jar package.MainClass *.class

MainClass est la classe avec votre méthode main et package est le package de MainClass.

Notez que vous devez compiler votre .Java fichiers à .class fichiers avant de faire cela.

c  create new archive
v  generate verbose output on standard output
f  specify archive file name
e  specify application entry point for stand-alone application bundled into an executable jar file

Cette réponse inspirée par le commentaire de Powerslave sur une autre réponse.

12
River