In un progetto Java, ogni file jar eseguibile contiene un metodo main. Di solito viene posizionato nel punto iniziale dell'applicazione. Per eseguire un metodo main tramite un file jar autoeseguibile, dobbiamo disporre di un file manifest appropriato e racchiuderlo con il nostro progetto nella posizione corretta. Questi file hanno un attributo manifest principale utilizzato per definire il percorso della classe avente il metodo principale.
A volte abbiamo un jar autoeseguibile e quando proviamo a eseguire il progetto, verrà generato il seguente messaggio di errore:
Unable to execute jar- file: 'no main manifest attribute.'
Il messaggio di errore precedente viene generato a causa di una voce mancante di Main-Class nel file MANIFEST.MF.
Potresti riscontrare questo problema in qualsiasi configurazione basata Giava progetto. Discutiamo le sue soluzioni:
Soluzione:
Comprendiamo le sue soluzioni in diversi progetti:
Esperto di
In Esperto di Project, questo problema potrebbe verificarsi a causa della voce mancante di Main-Class nel file MANIFEST.MF. Per superare questo problema, possiamo definirlo nel nostro file pom.xml inserendo manualmente a plug-in-jar-maven in pom.xml.
org.apache.maven.plugins maven-jar-plugin 3.1.0 com.javatpoint.AppMain
Nel codice precedente, com.javatpoint.AppMain è il nome completo della classe principale. Devi sostituire il nome completo in base al tuo classpath. Per copiare il nome completo, fare clic con il pulsante destro del mouse sul pacchetto che contiene la classe principale e selezionare Copia nome completo .
Gradle
Se ricevi questo errore nel tuo progetto Gradle, puoi risolverlo inserendo le seguenti voci nel tuo file build.gradle file:
plugins { id 'java' } jar { manifest { attributes( 'Main-Class': 'com.javatpoint.AppMain' ) } }
Applicazione Spring Boot
A volte questo errore può essere riscontrato nel tuo Stivale primaverile progetto. È facile risolvere questo errore nel progetto Spring Boot. Per correggere questo errore nel progetto SB, inserisci la dipendenza maven-plugin sotto il tag nel file pom.xml.
org.springframework.boot spring-boot-maven-plugin 4.0.1
Causa principale dell'errore Nessun attributo manifesto principale
L'errore 'nessun manifest principale' viene solitamente causato se hai incasinato il file MANIFEST.MF situato nella cartella META-INF. Per impostazione predefinita, ha la seguente voce:
Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse
Dove,
Versione manifesto è la versione del file manifest.
Costruito da è il nome del tuo PC.
Build-Jdk è la versione JDK installata nel tuo computer.
Creato da è il nome del plugin utilizzato nell'IDE.
Quando eseguiamo il progetto, cercherà la classe principale nel file MANIFEST.MF. Verrà generato il messaggio di errore 'Impossibile eseguire il file jar' se non trova la voce. Quando eseguiamo le soluzioni di cui sopra, la voce della classe verrà automaticamente aggiornata nel file manifest del progetto come segue:
Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse Main-Class: com.javatpoint.AppMain