web-dev-qa-db-fra.com

Échec d'exécution du fichier jar à partir de la ligne de commande: "aucun attribut manifeste principal"

J'essaie de lancer un fichier jar à partir de la console:

Java -jar ScrumTimeCaptureMaintenence.jar

Et j'obtiens l'erreur:

Impossible d'exécuter le fichier jar: «pas d'attribut manifeste principal»

Comme vous pouvez le constater, j’ai en fait un fichier principal qui fonctionne bien sous Eclipse:

main method is in class

Que dois-je faire pour exécuter correctement ce fichier à partir de la ligne de commande?

19
David Tunnell

Essayer de courir

Java -cp ScrumTimeCaptureMaintenence.jar Main
35
Milan Baran

Dans Eclipse: right-click sur votre projet -> Export -> JAR file

À la dernière page avec des options (quand aucun bouton Next ne sera actif), vous verrez les réglages pour Main class:. Vous devez définir ici classe avec la méthode main qui doit être exécutée par défaut (comme lorsque le fichier JAR sera double-cliqué).

19
Pshemo

L'option -jar ne fonctionne que si le fichier JAR est un fichier JAR exécutable, ce qui signifie qu'il doit contenir un fichier manifeste avec un attribut Main-Class

Si ce n'est pas un fichier JAR exécutable, vous devrez exécuter le programme avec quelque chose comme:

Java -cp app.jar com.somepackage.SomeClass

com.somepackage.SomeClass est la classe qui contient la méthode main pour exécuter le programme.

11
spacewanderer

Vous pouvez sélectionner le "Fichier JAR exécutable" après avoir cliqué sur "Exporter".

Vous pouvez spécifier votre pilote principal dans "Lancer la configuration"

enter image description hereenter image description here

7
Fever

Tout d’abord, lancez votre application à partir d’Eclipse pour créer la configuration de lancement . Suivez ensuite les étapes suivantes:

  1. Dans le menu Fichier de la barre de menus, sélectionnez Exporter
  2. Développez le noeud Java et sélectionnez Fichier JAR exécutable. Cliquez sur Suivant
  3. Dans le Spécification du fichier JAR exécutable, sélectionnez une configuration de lancement "Application Java" à utiliser pour créer un fichier JAR exécutable . 
  4. Dans le champ Destination de destination, tapez ou cliquez Parcourir pour sélectionner un emplacement pour le fichier JAR . 
  5. Sélectionnez une bibliothèque appropriée traitement stratégie . 
  6. Vous pouvez également créer un script ANT pour régénérer rapidement un fichier JAR exécutable créé précédemment.

Source: Création d'un nouveau fichier JAR exécutable à Eclipse.org

5
Admit

Exportez votre projet Java en tant que Fichier Jar exécutable plutôt que Jar. 

J'ai exporté mon projet en tant que Jar et même si le manifeste était présent, il m'avait donné l'erreur aucun attribut principal du manifeste dans jar même si le fichier Manifest était présent dans le pot. Cependant, le fichier Manifest ne contient qu'une entrée et ne spécifie pas la classe principale ou la fonction à exécuter, ni aucun fichier JAR dépendant.

Après l'avoir exporté en tant que Fichier Jar exécutable il fonctionne comme prévu.

3
Rajat

Vous devez inclure l'attribut "Main class" dans le fichier Manisfest.mf dans Jar.

Par exemple: Main-Class: MyClassName

Deuxième chose, pour ajouter un fichier manifeste dans votre jar, vous pouvez créer manuellement un fichier dans votre dossier d’espace de travail et l’actualiser dans Eclipse Project Explorer. 

Lors de l'exportation, Eclipse créera un fichier Jar contenant votre manifeste.

À votre santé !!

2
Dheeraj Kumar

Si vous utilisez le démarrage de printemps, vous devez ajouter ce plugin dans votre pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
0
Hamid Mohayeji