web-dev-qa-db-fra.com

Comment exécuter un fichier .JAR via le terminal

Le nom de classe épelé dans le fichier manifest.txt a provoqué cette erreur

enter image description hereenter image description hereJ'essaie d'exécuter un fichier Java en dehors de mon IDE en exportant le fichier .jar dans mon dossier de documents et en essayant d'afficher le texte "hello world" dans le fichier sur la ligne de terminal. . J'ai essayé de créer un fichier Manifest.txt contenant ceci,

Classe principale: lightning.Java.hello.MyFirstClass

J'ai ensuite utilisé ce script pour créer un fichier MyJar.jar et je l'ai récupéré,

lightning @ rigel5: ~ $ jar cfm MyJar.jar Manifest.txt lightning.Java.hello/*. class Java.io.FileNotFoundException: Manifest.txt (aucun fichier ou répertoire de ce type) sur Java.io.FileInputStream.open (méthode native). ) à Java.io.FileInputStream. (FileInputStream.Java:138) à Java.io.FileInputStream. (FileInputStream.Java:97) à Sun.tools.jar.Main.run (Main.Java:171) à Sun.tools .jar.Main.main (Main.Java:1177)

1
lightning

Vous pouvez exécuter le package Java à l'aide de cette commande sur votre terminal:

Java -jar MyFirstClass.jar

Si vous n'avez pas Java Runtime Edition (JRE), vous devez installer le package default-jre.

3

Erreur Java /home/lighting/Documents/temp.jar: impossible de trouver ou de charger la classe principale .home.lighting.Documents.temp.jar lightning

Cela montre que vous avez clairement commis une erreur dans le META-INF/MANIFEST.MF

Voir ceci Tutorial pour plus d'informations.

2
H.-Dirk Schmitt

Vous avez d’abord besoin d’une méthode main dans votre fichier de classe - public static void main (String args []) {...} - probablement terminé ...

Dans le fichier jar, vous avez besoin d'un fichier manifest.txt - à l'intérieur de la classe avec la méthode main, notez ceci -> Main-Class: MyPackage.MyClass

Pour en créer un, vous pouvez utiliser l'outil de commande en ligne jar ...

Si vous n'avez pas de fichier manifeste dans votre fichier jar, vous pouvez simplement taper:

Java -cp jarFileName.jar ClassNameWithMainMethod
2
user138488