Java projektā katrs izpildāmais jar fails satur galveno metodi. Parasti tas tiek novietots lietojumprogrammas sākuma punktā. Lai izpildītu galveno metodi, izmantojot pašizpildes jar failu, mums ir jābūt pareizam manifesta failam un jāiekļauj tas ar mūsu projektu pareizajā vietā. Šiem failiem ir galvenais manifesta atribūts, ko izmanto, lai definētu ceļu uz klasi, kurai ir galvenā metode.
Dažreiz mums ir pašizpildāma burka, un, mēģinot izpildīt projektu, tas parādīs šādu kļūdas ziņojumu:
Unable to execute jar- file: 'no main manifest attribute.'
Iepriekš minētais kļūdas ziņojums tiek parādīts, jo failā MANIFEST.MF trūkst galvenās klases ieraksta.
Ar šo problēmu varat saskarties jebkurā konfigurācijā Java projektu. Apspriedīsim tās risinājumus:
Risinājums:
Izpratīsim tās risinājumus dažādos projektos:
Maven
In Maven Šī problēma var rasties, jo failā MANIFEST.MF trūkst galvenās klases ieraksta. Lai novērstu šo problēmu, mēs varam to definēt savā pom.xml failā, manuāli ievietojot a maven-jar-plugin pom.xml.
org.apache.maven.plugins maven-jar-plugin 3.1.0 com.javatpoint.AppMain
Iepriekš minētajā kodā com.javatpoint.AppMain ir mūsu pilnībā kvalificētais galvenās klases nosaukums. Pilnībā kvalificētais nosaukums ir jāaizstāj atbilstoši jūsu klases ceļam. Lai kopētu pilnībā kvalificēto nosaukumu, ar peles labo pogu noklikšķiniet uz pakotnes, kurā ir galvenā klase, un atlasiet Kopējiet pilnībā kvalificētu vārdu .
Gradle
Ja saņemat šo kļūdu savā Gradle projektā, varat to atrisināt, ievietojot tālāk norādītos ierakstus celt.gradle fails:
plugins { id 'java' } jar { manifest { attributes( 'Main-Class': 'com.javatpoint.AppMain' ) } }
Pavasara sāknēšanas lietojumprogramma
Dažreiz šī kļūda var rasties jūsu Pavasara zābaki projektu. Šo kļūdu ir viegli novērst Spring Boot projektā. Lai labotu šo kļūdu SB projektā, ievietojiet atkarību maven-plugin zem taga failā pom.xml.
org.springframework.boot spring-boot-maven-plugin 4.0.1
Galvenās izpausmes atribūta kļūdas galvenais iemesls
'Nav galvenās manifesta kļūdas' parasti rodas, ja esat sajaukts failā MANIFEST.MF, kas atrodas mapē META-INF. Pēc noklusējuma tam ir šāds ieraksts:
Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse
kur,
Manifesta versija ir manifesta faila versija.
Iebūvēja ir jūsu datora nosaukums.
Build-Jdk ir jūsu datorā instalētā JDK versija.
Radīts ir spraudņa nosaukums, ko izmanto IDE.
Kad mēs izpildīsim projektu, tas meklēs galveno klasi failā MANIFEST.MF. Ja ieraksts netiks atrasts, tas parādīs kļūdas ziņojumu 'Nevar izpildīt jar failu'. Kad mēs palaižam iepriekš minētos risinājumus, klases ieraksts tiks automātiski atjaunināts projekta manifesta failā šādi:
Manifest-Version: 1.0 Built-By: alien Build-Jdk: 1.8.0 Created-By: Maven Integration for Eclipse Main-Class: com.javatpoint.AppMain