logo

Kein Hauptmanifestattribut

In einem Java-Projekt enthält jede ausführbare JAR-Datei eine Hauptmethode. Normalerweise wird es am Startpunkt der Anwendung platziert. Um eine Hauptmethode durch eine selbstausführende JAR-Datei auszuführen, müssen wir über eine geeignete Manifestdatei verfügen und diese mit unserem Projekt am richtigen Speicherort umschließen. Diese Dateien verfügen über ein Hauptmanifestattribut, das verwendet wird, um den Pfad zur Klasse mit der Hauptmethode zu definieren.

Manchmal haben wir ein selbstausführbares JAR und wenn wir versuchen, das Projekt auszuführen, wird die folgende Fehlermeldung angezeigt:

 Unable to execute jar- file: 'no main manifest attribute.' 

Die obige Fehlermeldung wird aufgrund eines fehlenden Eintrags der Hauptklasse in der Datei MANIFEST.MF ausgegeben.

Dieses Problem kann bei jeder Konfiguration auftreten Java Projekt. Lassen Sie uns die Lösungen besprechen:

Lösung:

Lassen Sie uns seine Lösungen in verschiedenen Projekten verstehen:

Maven

In Maven Projekt, dieses Problem kann aufgrund des fehlenden Eintrags der Hauptklasse in der Datei MANIFEST.MF auftreten. Um dieses Problem zu lösen, können wir es in unserer pom.xml-Datei definieren, indem wir manuell eine einfügen Maven-Jar-Plugin in pom.xml.

 org.apache.maven.plugins maven-jar-plugin 3.1.0 com.javatpoint.AppMain 

Im obigen Code ist com.javatpoint.AppMain unser vollständig qualifizierter Name der Main-Klasse. Sie müssen den vollständig qualifizierten Namen entsprechend Ihrem Klassenpfad ersetzen. Um den vollständig qualifizierten Namen zu kopieren, klicken Sie mit der rechten Maustaste auf das Paket, das die Hauptklasse enthält, und wählen Sie es aus Vollständig qualifizierten Namen kopieren .

Gradle

Wenn dieser Fehler in Ihrem Gradle-Projekt auftritt, können Sie ihn beheben, indem Sie die folgenden Einträge in Ihr Projekt einfügen build.gradle Datei:

 plugins { id 'java' } jar { manifest { attributes( 'Main-Class': 'com.javatpoint.AppMain' ) } } 

Spring Boot-Anwendung

Manchmal kann dieser Fehler bei Ihnen auftreten Frühlingsstiefel Projekt. Dieser Fehler lässt sich im Spring Boot-Projekt leicht beheben. Um diesen Fehler im SB-Projekt zu beheben, fügen Sie die Maven-Plugin-Abhängigkeit unter dem Tag in der Datei pom.xml ein.

 org.springframework.boot spring-boot-maven-plugin 4.0.1 

Grundursache für den Fehler „Kein Hauptmanifestattribut“.

Der Fehler „Kein Hauptmanifest“ wird normalerweise verursacht, wenn Sie die Datei MANIFEST.MF im Ordner META-INF durcheinander gebracht haben. Standardmäßig hat es den folgenden Eintrag:

 Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse 

Wo,

Manifest-Version ist die Version der Manifest-Datei.

Gebaut von ist Ihr PC-Name.

Build-Jdk ist die JDK-Version, die auf Ihrem Computer installiert ist.

Erstellt von ist der in der IDE verwendete Plugin-Name.

Wenn wir das Projekt ausführen, sucht es in der Datei MANIFEST.MF nach der Hauptklasse. Wenn der Eintrag nicht gefunden wird, wird die Fehlermeldung „JAR-Datei kann nicht ausgeführt werden“ ausgegeben. Wenn wir die oben genannten Lösungen ausführen, wird der Klasseneintrag automatisch in der Manifestdatei des Projekts wie folgt aktualisiert:

 Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse Main-Class: com.javatpoint.AppMain