logo

Cap atribut de manifest principal

En un projecte Java, cada fitxer jar executable conté un mètode principal. Normalment, es col·loca al punt inicial de l'aplicació. Per executar un mètode principal mitjançant un fitxer jar d'execució automàtica, hem de tenir un fitxer de manifest adequat i embolicar-lo amb el nostre projecte a la ubicació adequada. Aquests fitxers tenen un atribut de manifest principal que s'utilitza per definir el camí a la classe que té el mètode principal.

De vegades, tenim un jar autoexecutable i quan intentem executar el projecte, ens donarà el següent missatge d'error:

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

El missatge d'error anterior es llança a causa d'una entrada que falta de Main-Class al fitxer MANIFEST.MF.

Podeu trobar aquest problema en qualsevol configuració basada Java projecte. Parlem de les seves solucions:

Solució:

Entendrem les seves solucions en diferents projectes:

Maven

En Maven Projecte, aquest problema es pot trobar a causa de la falta d'entrada de Main-Class al fitxer MANIFEST.MF. Per solucionar aquest problema, podem definir-lo al nostre fitxer pom.xml posant manualment a maven-jar-plugin en pom.xml.

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

Al codi anterior, com.javatpoint.AppMain és el nostre nom totalment qualificat de la Main-Class. Heu de substituir el nom totalment qualificat segons el vostre classpath. Per copiar el nom complet, feu clic amb el botó dret al paquet que conté la classe principal i seleccioneu Copia el nom complet .

Gradle

Si rebeu aquest error al vostre projecte Gradle, podeu resoldre-ho posant les entrades següents al vostre projecte. construir.gradle dossier:

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

Aplicació Spring Boot

De vegades es pot trobar aquest error al vostre Bota de primavera projecte. És fàcil resoldre aquest error al projecte Spring Boot. Per corregir aquest error al projecte SB, poseu la dependència de maven-plugin sota l'etiqueta del fitxer pom.xml.

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

Causa arrel de l'error d'atribut de manifest no principal

El 'cap error de manifest principal' sol ser causat si heu embolicat el fitxer MANIFEST.MF situat a la carpeta META-INF. Per defecte, té la següent entrada:

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

On,

Manifest-Versió és la versió del fitxer Manifest.

Construït per és el nom del vostre ordinador.

Construir-Jdk és la versió JDK instal·lada a la vostra màquina.

Creat per és el nom del connector utilitzat a l'IDE.

Quan executem el projecte, buscarà el Main-Class al fitxer MANIFEST.MF. Llançarà el missatge d'error 'No es pot executar el fitxer jar' si no troba l'entrada. Quan executem les solucions anteriors, l'entrada de classe s'actualitzarà automàticament al fitxer Manifest del projecte de la manera següent:

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