logo

Brak głównego atrybutu manifestu

W projekcie Java każdy wykonywalny plik jar zawiera metodę główną. Zwykle umieszcza się go w punkcie początkowym aplikacji. Aby wykonać metodę główną za pomocą samowykonującego się pliku jar, musimy mieć odpowiedni plik manifestu i opakować go naszym projektem w odpowiedniej lokalizacji. Pliki te mają główny atrybut manifestu, który służy do zdefiniowania ścieżki do klasy posiadającej metodę main.

Czasami mamy samowykonywalny słoik i kiedy próbujemy wykonać projekt, wyświetli się następujący komunikat o błędzie:

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

Powyższy komunikat o błędzie jest zgłaszany z powodu braku wpisu klasy głównej w pliku MANIFEST.MF.

Możesz napotkać ten problem w dowolnej konfiguracji Jawa projekt. Omówmy jego rozwiązania:

Rozwiązanie:

Rozumiemy jego rozwiązania w różnych projektach:

Mavena

W Mavena Project, ten problem może wystąpić z powodu braku wpisu klasy głównej w pliku MANIFEST.MF. Aby rozwiązać ten problem, możemy zdefiniować go w naszym pliku pom.xml, ręcznie umieszczając plik wtyczka maven-jar w pom.xml.

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

W powyższym kodzie com.javatpoint.AppMain jest naszą w pełni kwalifikowaną nazwą klasy głównej. Musisz zastąpić w pełni kwalifikowaną nazwę zgodnie ze ścieżką klasy. Aby skopiować pełną nazwę, kliknij prawym przyciskiem myszy pakiet zawierający klasę główną i wybierz Skopiuj w pełni kwalifikowaną nazwę .

Gradle

Jeśli otrzymujesz ten błąd w swoim projekcie Gradle, możesz rozwiązać ten problem, umieszczając następujące wpisy w pliku kompilacja.gradle plik:

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

Aplikacja Spring Boot

Czasami ten błąd może wystąpić w pliku Wiosenne buty projekt. Łatwo jest rozwiązać ten błąd w projekcie Spring Boot. Aby naprawić ten błąd w projekcie SB, umieść zależność maven-plugin pod znacznikiem w pliku pom.xml.

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

Główna przyczyna błędu braku głównego atrybutu manifestu

Błąd „brak głównego manifestu” zwykle pojawia się, jeśli namieszałeś w pliku MANIFEST.MF znajdującym się w folderze META-INF. Domyślnie ma następujący wpis:

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

Gdzie,

Wersja manifestu to wersja pliku manifestu.

Zbudowane przez to nazwa twojego komputera.

Build-Jdk to wersja JDK zainstalowana na twoim komputerze.

Stworzone przez to nazwa wtyczki używana w IDE.

Kiedy uruchomimy projekt, będzie on szukał klasy głównej w pliku MANIFEST.MF. Jeśli nie znajdzie wpisu, wyświetli się komunikat o błędzie „Nie można wykonać pliku jar”. Kiedy uruchomimy powyższe rozwiązania, wpis klasy zostanie automatycznie zaktualizowany w pliku manifestu projektu w następujący sposób:

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