logo

Немає основного атрибута маніфесту

У проекті Java кожен виконуваний файл jar містить основний метод. Зазвичай він розміщується в початковій точці програми. Щоб виконати основний метод за допомогою самовиконуваного jar-файлу, ми повинні мати відповідний файл маніфесту та обернути його нашим проектом у належному місці. Ці файли мають атрибут main manifest, який використовується для визначення шляху до класу з основним методом.

Іноді у нас є самовиконуваний jar, і коли ми намагаємося виконати проект, він видасть таке повідомлення про помилку:

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

Наведене вище повідомлення про помилку видається через відсутність запису основного класу у файлі MANIFEST.MF.

Ви можете зіткнутися з цією проблемою в будь-якій конфігурації Java демонструвати. Давайте обговоримо його рішення:

рішення:

Давайте розберемося з його рішеннями в різних проектах:

Мейвен

в Мейвен Project, ця проблема може виникнути через відсутність запису Main-Class у файлі MANIFEST.MF. Щоб подолати цю проблему, ми можемо визначити її в нашому файлі pom.xml, вручну вставивши maven-jar-плагін у 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

Іноді ця помилка може виникнути у вашому Весняний черевик демонструвати. Виправити цю помилку в проекті Spring Boot легко. Щоб виправити цю помилку в проекті SB, розмістіть залежність maven-plugin під тегом у файлі pom.xml.

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

Основна причина помилки атрибута No Main Manifest

Помилка «немає головного маніфесту» зазвичай виникає, якщо ви зіпсували файл 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