У Јава пројекту, свака извршна јар датотека садржи главни метод. Обично се поставља на почетну тачку апликације. Да бисмо извршили главну методу помоћу јар датотеке која се сама извршава, морамо имати исправну датотеку манифеста и умотати је са нашим пројектом на одговарајућу локацију. Ове датотеке имају атрибут главног манифеста који се користи за дефинисање путање до класе која има главни метод.
Понекад имамо самоизвршну теглу, а када покушамо да извршимо пројекат, она ће избацити следећу поруку о грешци:
Unable to execute jar- file: 'no main manifest attribute.'
Горња порука о грешци се јавља због недостатка уноса главне класе у датотеци МАНИФЕСТ.МФ.
Можете наићи на овај проблем у било којој конфигурацији Јава пројекат. Хајде да разговарамо о његовим решењима:
Решење:
Хајде да разумемо његова решења у различитим пројектима:
Мавен
Ин Мавен Пројекат, овај проблем може наићи због недостатка уноса Маин-Цласс у МАНИФЕСТ.МФ датотеци. Да бисмо превазишли овај проблем, можемо га дефинисати у нашој пом.кмл датотеци тако што ћемо ручно ставити а мавен-јар-плугин у пом.кмл.
org.apache.maven.plugins maven-jar-plugin 3.1.0 com.javatpoint.AppMain
У горњем коду, цом.јаватпоинт.АппМаин је наше потпуно квалификовано име главне класе. Морате да замените потпуно квалификовано име у складу са путањом ваше класе. Да бисте копирали потпуно квалификовано име, кликните десним тастером миша на пакет који садржи главну класу и изаберите Копирајте потпуно квалификовано име .
Градле
Ако добијете ову грешку у вашем Градле пројекту, можете је решити тако што ћете убацити следеће уносе у свој буилд.градле фајл:
plugins { id 'java' } jar { manifest { attributes( 'Main-Class': 'com.javatpoint.AppMain' ) } }
Спринг Боот апликација
Понекад се ова грешка може наићи у вашем Спринг Боот пројекат. Ову грешку је лако решити у Спринг Боот пројекту. Да бисте исправили ову грешку у СБ пројекту, ставите зависност мавен-плугин испод ознаке у датотеци пом.кмл.
org.springframework.boot spring-boot-maven-plugin 4.0.1
Основни узрок грешке атрибута без главног манифеста
'Нема главне грешке манифеста' се обично јавља ако сте забрљали у МАНИФЕСТ.МФ датотеци која се налази у фасцикли МЕТА-ИНФ. Подразумевано, има следећи унос:
Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse
Где,
Манифест-Верзија је верзија датотеке манифеста.
Изградио је име вашег рачунара.
Буилд-Јдк је ЈДК верзија инсталирана на вашој машини.
Цреатед-Би је назив додатка који се користи у ИДЕ-у.
Када покренемо пројекат, он ће тражити главну класу у датотеци МАНИФЕСТ.МФ. Избациће поруку о грешци „Није могуће извршити јар-датотеку“ ако не пронађе унос. Када покренемо горња решења, унос класе ће се аутоматски ажурирати у датотеци манифеста пројекта на следећи начин:
Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse Main-Class: com.javatpoint.AppMain