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 déclenché des exceptions "Impossible de charger la classe principale". J'ai donc extrait ce fichier JAR:
jar -xf Predit.jar
et j'ai exécuté le fichier de classe:
java Predit
Cela a bien fonctionné. Je ne sais pas pourquoi le fichier JAR n'a pas fonctionné. Veuillez me dire les étapes pour exécuter le fichier JAR
la source
:
utilise*
ne fonctionnera pas parce que votre shell va développer comme ceci:"/path/to/jars/a.jar" "/path/to/jars/b.jar"
mais ce que vous voulez vraiment est:"/path/to/jars/a.jar:/path/to/jars/b.jar"
.Avant l'exécution, la vérification du bocal
Main-Class: classname
est disponible ou non dans le fichier MANIFEST.MF . MANIFEST.MF est présent en pot.la source
Vous devez ajouter un manifeste au pot, qui indique au runtime java quelle est la classe principale. Créez un fichier 'Manifest.mf' avec le contenu suivant:
Remplacez «your.programs.MainClass» par votre classe principale actuelle. Maintenant, placez le fichier dans le fichier Jar, dans un sous-dossier nommé 'META-INF'. Vous pouvez utiliser n'importe quel utilitaire ZIP pour cela.
la source
Une approche très simple pour créer des fichiers .class, .jar.
Exécution du fichier jar. Pas besoin de trop s'inquiéter du fichier manifeste. Rendez-le simple et élégant.
Exemple de programme Hello World Java
Compilation du fichier de classe
Création du fichier jar
ou
Exécution du fichier jar
Ou
la source
jar
optione
de vous permet de spécifier leMain-Class
(point d' entrée ) et crée également un fichier manifeste correspondant pour vous. Voir la documentation officielle du pot .Si vous ne souhaitez pas créer un manifeste juste pour exécuter le fichier jar, vous pouvez référencer la classe principale directement à partir de la ligne de commande lorsque vous exécutez le fichier jar.
Cela définit la classe principale à exécuter dans le fichier jar.
la source
-classpath
vient juste aprèsjava
et se débarrasse de-jar
(c'est-à-dire que cette réponse est incorrecte)Java
manifest.mf
Sur la ligne de commande:
Production:
la source
Si vous ne souhaitez pas traiter ces détails, vous pouvez également utiliser les assistants d'exportation de jar d'Eclipse ou de NetBeans.
la source
Fichier JAR exécutable Eclipse
Créer un projet Java -
RunnableJAR
Classe principale
Exécutez le fichier Jar à l'aide du programme java ( cmd ) en fournissant des arguments et obtenez la sortie et l'affichage dans la console eclipse.
Dans Eclipse pour trouver des raccourcis :
Aide ► Contenu de l'aide ► Guide d'utilisation du développement Java ► Références ► Menus et actions
la source
J'ai cette structure de dossiers:
Main.class
est dans le paquetcom.lynda.olivepress
Il existe deux autres packages:
1) Créez un fichier nommé
"Manifest.txt"
avec deux lignes, d'abord avec la classe principale et une deuxième ligne vide.D: \ JavaProjects \ OlivePressApp \
Manifest.txt
2) Créer un fichier JAR avec un manifeste et un point d'entrée de classe principale
D: \ JavaProjects \ OlivePressApp>
jar cfm OlivePressApp.jar Manifest.txt com/lynda/olivepress/Main.class com/lynda/olivepress/*
3) Exécutez JAR
java -jar OlivePressApp.jar
Remarque:
com/lynda/olivepress/*
signifie inclure les deux autres packages mentionnés ci-dessus, avant le point 1)la source
Pour exécuter le pot, vous devez d'abord créer
puis
la commande fonctionnera
la source