76 votes

Création d'un fichier .jar par Java

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

Jusqu'à présent, j'ai essayé

java -jar cf myJar.jar myClass.class

et j'obtiens 'Impossible d'accéder au fichier jarfile cf' . Je fais quelque chose de mal mais je ne sais pas quoi. J'utilise également l'IDE Eclipse si cela signifie quelque chose.

133voto

João Silva Points 36619

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

jar cf myJar.jar myClass.class

En outre, si vous souhaitez le rendre exécutable, vous devez indiquer un paramètre point d'entrée (c'est-à-dire une classe avec public static void main(String[] args) ) pour votre application. Pour ce faire, on crée généralement un fichier manifeste qui contient le fichier Main-Class (par exemple, Main-Class: myClass ).

Cependant, comme l'a souligné Mark Peters, avec le 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 aussi

16voto

Sean Points 133

Puisque vous avez mentionné que vous utilisiez Eclipse... Eclipse peut créer les JARs pour vous, à condition que vous ayez exécuté chaque classe qui a un main une fois. Faites un clic droit sur le projet et cliquez sur Export, puis sélectionnez "Runnable JAR file" dans le dossier Java. Sélectionnez le nom de la classe dans la configuration de lancement, choisissez un emplacement pour enregistrer le fichier JAR et décidez comment gérer les bibliothèques si nécessaire. Cliquez sur Terminer, essuyez vos mains sur votre pantalon.

10voto

Evgeni Sergeev Points 1517

Souvent, vous devez investir davantage dans le manifeste que ce que vous obtenez avec l'aide de l'Agence européenne pour la reconstruction. -e et dans ce cas, la syntaxe est la suivante :

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

Qui se lit comme suit : "create verbose jarFilename manifestFilename", suivi des fichiers que vous voulez inclure.

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

6voto

Jay Shah Points 1303

Voie 1 :

Nous avons un fichier java test.java qui contient la classe principale testa. Nous commençons par compiler notre fichier java en utilisant simplement javac test.java nous créons le fichier manifest.txt dans le même répertoire et nous écrivons Main-Class : nom de la classe principale . par exemple :

  Main-Class: testa

Ensuite, nous créons le fichier jar par cette commande :

  jar cvfm anyname.jar manifest.txt testa.class

Ensuite, nous lançons le fichier jar par cette commande : java -jar anyname.jar

voie 2 :

Nous avons un paquetage nommé one et toutes les classes sont à l'intérieur de ce paquetage. Nous créons alors un fichier jar à l'aide de la commande suivante :

  jar cf anyname.jar one

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

  Main-Class: one.mainclassname 

à la troisième ligne, puis nous lançons le fichier jar à l'aide de cette commande :

  java -jar anyname.jar

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

1voto

Arpan Biswas Points 19

Les 6 classes sont affectées à 6 projets différents. Créez ensuite des fichiers jar pour chacun des 6 projets. Vous obtiendrez ainsi 6 fichiers jar exécutables.

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