logo

Няма основен манифестен атрибут

В Java проект всеки изпълним jar файл съдържа основен метод. Обикновено се поставя в началната точка на приложението. За да изпълним главен метод чрез самоизпълняващ се jar файл, трябва да имаме подходящ манифестен файл и да го обвием с нашия проект на правилното място. Тези файлове имат основен атрибут на манифеста, който се използва за определяне на пътя към класа, който има главния метод.

Понякога имаме самоизпълним буркан и когато се опитаме да изпълним проекта, той ще изведе следното съобщение за грешка:

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

Горното съобщение за грешка се извежда поради липсващ запис на Main-Class във файла MANIFEST.MF.

Може да срещнете този проблем във всяка конфигурация Java проект. Нека обсъдим неговите решения:

Решение:

Нека разберем неговите решения в различни проекти:

Мейвън

в Мейвън Проект, този проблем може да възникне поради липсващия запис на Main-Class във файла MANIFEST.MF. За да преодолеем този проблем, можем да го дефинираме в нашия файл pom.xml, като ръчно поставим maven-jar-plugin в pom.xml.

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

В горния код com.javatpoint.AppMain е нашето пълно квалифицирано име на основния клас. Трябва да замените напълно квалифицираното име според вашия клас път. За да копирате напълно квалифицираното име, щракнете с десния бутон върху пакета, който съдържа главния клас и изберете Копирайте напълно квалифицираното име .

Gradle

Ако получавате тази грешка във вашия проект Gradle, можете да разрешите това, като поставите следните записи във вашия build.gradle файл:

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

Пролетно приложение за зареждане

Понякога тази грешка може да се срещне във вашия Пролетен ботуш проект. Лесно е да разрешите тази грешка в проекта Spring Boot. За да коригирате тази грешка в проекта SB, поставете зависимостта maven-plugin под етикета във файла pom.xml.

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

Основната причина за грешката в атрибута „Няма основен манифест“.

„Грешката без основен манифест“ обикновено се причинява, ако сте объркали файла MANIFEST.MF, намиращ се в папката META-INF. По подразбиране има следния запис:

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

Където,

Манифест-версия е версията на манифестния файл.

Построен от е името на вашия компютър.

Build-Jdk е JDK версията, инсталирана на вашата машина.

Създадено от е името на плъгина, използвано в IDE.

Когато стартираме проекта, той ще търси основния клас във файла MANIFEST.MF. Той ще изведе съобщение за грешка „Не може да се изпълни jar-файл“, ако не намери записа. Когато стартираме горните решения, записът на класа автоматично ще се актуализира във файла на манифеста на проекта, както следва:

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