logo

Žádný hlavní manifestní atribut

V projektu Java obsahuje každý spustitelný soubor jar hlavní metodu. Obvykle je umístěn na začátku aplikace. Abychom mohli spustit hlavní metodu pomocí samospouštěcího souboru jar, musíme mít správný soubor manifestu a zabalit jej do našeho projektu na správném místě. Tyto soubory mají atribut main manifest, který se používá k definování cesty ke třídě s hlavní metodou.

Někdy máme samospustitelný jar a když se pokusíme spustit projekt, zobrazí se následující chybová zpráva:

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

Výše uvedená chybová zpráva je vyvolána z důvodu chybějící položky Main-Class v souboru MANIFEST.MF.

S tímto problémem se můžete setkat v jakékoli konfiguraci Jáva projekt. Pojďme diskutovat o jeho řešeních:

Řešení:

Pojďme pochopit jeho řešení v různých projektech:

Maven

v Maven Projekt, tento problém může nastat kvůli chybějící položce Main-Class v souboru MANIFEST.MF. Abychom tento problém vyřešili, můžeme jej definovat v našem souboru pom.xml ručním vložením a maven-jar-plugin v pom.xml.

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

Ve výše uvedeném kódu je com.javatpoint.AppMain náš plně kvalifikovaný název hlavní třídy. Musíte nahradit plně kvalifikovaný název podle vaší třídy. Chcete-li zkopírovat plně kvalifikovaný název, klepněte pravým tlačítkem myši na balíček obsahující hlavní třídu a vyberte Zkopírujte plně kvalifikovaný název .

Gradle

Pokud se vám tato chyba zobrazuje ve vašem projektu Gradle, můžete to vyřešit vložením následujících položek do vašeho projektu build.gradle soubor:

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

Aplikace Spring Boot

Někdy se tato chyba může vyskytnout ve vašem Jarní bota projekt. Tuto chybu je snadné vyřešit v projektu Spring Boot. Chcete-li tuto chybu opravit v projektu SB, vložte závislost maven-plugin pod značku v souboru pom.xml.

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

Kořenová příčina chyby bez hlavního manifestu atributu

Chyba 'žádná hlavní manifestační chyba' je obvykle způsobena tím, že jste se dostali do souboru MANIFEST.MF umístěného ve složce META-INF. Ve výchozím nastavení má následující položku:

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

Kde,

Manifest-verze je verze souboru Manifest.

Postaven je název vašeho PC.

Build-Jdk je verze JDK nainstalovaná ve vašem počítači.

Vytvořil je název pluginu používaný v IDE.

Když projekt spustíme, bude hledat Main-Class v souboru MANIFEST.MF. Pokud záznam nenajde, zobrazí chybovou zprávu „Nelze spustit soubor jar“. Když spustíme výše uvedená řešení, položka třídy se automaticky aktualizuje v souboru Manifest projektu takto:

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