web-dev-qa-db-fra.com

Java Création du fichier .jar

J'apprends Java et j'ai un problème. J'ai créé 6 classes différentes, chacune ayant sa propre méthode main(). Je veux créer l'exécutable .jar pour chaque classe, soit 6 exécutables .jar des dossiers.

Jusqu'ici j'ai essayé

Java -jar cf myJar.jar myClass.class

et je reçois 'Impossible d'accéder à jarfile cf'. Je fais quelque chose de mal mais je ne sais pas quoi. J'utilise aussi Eclipse IDE si cela signifie quelque chose.

67
user433947

Pour créer un fichier .jar, vous devez utiliser jar au lieu de Java:

jar cf myJar.jar myClass.class

De plus, si vous voulez le rendre exécutable, vous devez indiquer un point d’entrée (c’est-à-dire une classe avec public static void main(String[] args)) pour ton application. Ceci est généralement accompli en créant un fichier manifeste qui contient l'en-tête Main-Class (Par exemple, Main-Class: myClass).

Cependant, comme Mark Peters l'a souligné, avec JDK 6, vous pouvez utiliser l'option e pour définir le point d'entrée:

jar cfe myJar.jar myClass myClass.class 

Enfin, vous pouvez l'exécuter:

Java -jar myJar.jar

Voir également

110
João Silva

Si vous avez déjà indiqué que vous utilisiez Eclipse ... Eclipse peut créer les fichiers JAR pour vous, à condition que vous exécutiez chaque classe ayant une classe principale une fois. Cliquez avec le bouton droit sur le projet et cliquez sur Exporter, puis sélectionnez "Fichier JAR exécutable" dans le dossier Java. Sélectionnez le nom de la classe dans la configuration de lancement, choisissez un emplacement pour enregistrer le fichier jar, puis effectuez une copie. Décidez comment manipuler les bibliothèques si nécessaire.

15
Sean

Souvent, vous devez mettre plus dans le manifeste que ce que vous obtenez avec le -e switch, et dans ce cas, la syntaxe est la suivante:

jar -cvfm myJar.jar myManifest.txt myApp.class

Ce qui se lit comme suit: "Créer un nomJarFilename bavarois NomFichierManifest", suivi des fichiers que vous souhaitez inclure.

Notez que le nom du fichier manifeste que vous fournissez peut être n'importe quoi, car jar le renommera automatiquement et le placera au bon endroit dans le fichier jar.

8
Evgeni Sergeev

voie 1:

Laissons nous avoir Java test.Java qui contient la classe principale testa maintenant nous compilons d’abord notre Java simplement comme javac test.Java nous créons le fichier manifest.txt dans le même répertoire et nous écrivons Main-Class: mainclassname.

  Main-Class: testa

alors nous créons le fichier jar par cette commande:

  jar cvfm anyname.jar manifest.txt testa.class

puis nous exécutons le fichier jar avec cette commande: Java -jar anyname.jar

voie 2:

Laissez-nous avoir un paquet nommé une et chaque classe sont dedans. alors nous créons le fichier jar par cette commande:

  jar cf anyname.jar one

puis nous ouvrons manifest.txt dans le répertoire META-INF dans le fichier anyname.jar et écrivons

  Main-Class: one.mainclassname 

en troisième ligne., nous lançons le fichier jar avec cette commande:

  Java -jar anyname.jar

pour créer un fichier jar ayant plusieurs fichiers de classe: jar cf anyname.jar one.class two.class three.class ......

4
Jay Shah

Mettez toutes les 6 classes à 6 projets différents. Créez ensuite les fichiers jar de tous les 6 projets. De cette manière, vous obtiendrez 6 fichiers jar exécutables.

2
Arpan Biswas