logo

기본 매니페스트 속성 없음

Java 프로젝트에서 모든 실행 가능한 jar 파일에는 기본 메소드가 포함되어 있습니다. 일반적으로 애플리케이션의 시작점에 배치됩니다. 자체 실행 jar 파일로 메인 메소드를 실행하려면 적절한 매니페스트 파일이 있어야 하며 이를 적절한 위치에 프로젝트와 함께 래핑해야 합니다. 이러한 파일에는 기본 메서드가 있는 클래스에 대한 경로를 정의하는 데 사용되는 기본 매니페스트 속성이 있습니다.

때로는 자체 실행 가능한 jar이 있고 프로젝트를 실행하려고 하면 다음과 같은 오류 메시지가 표시됩니다.

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

위의 오류 메시지는 MANIFEST.MF 파일에 Main-Class 항목이 누락되어 발생합니다.

구성 기반 환경에서 이 문제가 발생할 수 있습니다. 자바 프로젝트. 솔루션에 대해 논의해 보겠습니다.

해결책:

다양한 프로젝트의 솔루션을 이해해 보겠습니다.

메이븐

~ 안에 메이븐 프로젝트에서 이 문제는 MANIFEST.MF 파일에 Main-Class 항목이 없기 때문에 발생할 수 있습니다. 이 문제를 극복하기 위해 pom.xml 파일에 수동으로 다음을 입력하여 정의할 수 있습니다. 메이븐-병-플러그인 pom.xml에 있습니다.

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

위 코드에서 com.javatpoint.AppMain은 Main-Class의 정규화된 이름입니다. 클래스 경로에 따라 정규화된 이름을 바꿔야 합니다. 정규화된 이름을 복사하려면 기본 클래스가 포함된 패키지를 마우스 오른쪽 버튼으로 클릭하고 정규화된 이름 복사 .

그래들

Gradle 프로젝트에서 이 오류가 발생하는 경우 다음 항목을 build.gradle 파일:

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

스프링 부트 애플리케이션

때때로 이 오류가 귀하의 컴퓨터에서 발생할 수 있습니다. 스프링 부트 프로젝트. Spring Boot 프로젝트에서 이 오류를 해결하는 것은 쉽습니다. SB 프로젝트에서 이 오류를 수정하려면 pom.xml 파일의 태그 아래에 maven-plugin 종속성을 넣습니다.

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

No Main Manifest 속성 오류의 근본 원인

META-INF 폴더 아래에 있는 MANIFEST.MF 파일을 망친 경우 '메인 매니페스트 오류 없음'이 일반적으로 발생합니다. 기본적으로 다음 항목이 있습니다.

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

어디,

매니페스트 버전 매니페스트 파일의 버전입니다.

에 의해 만들어진 귀하의 PC 이름입니다.

빌드-Jdk 컴퓨터에 설치된 JDK 버전입니다.

작성자 IDE에서 사용되는 플러그인 이름입니다.

프로젝트를 실행하면 MANIFEST.MF 파일에서 Main-Class를 찾습니다. 항목을 찾지 못하면 'jar-file을 실행할 수 없습니다'라는 오류 메시지가 표시됩니다. 위 솔루션을 실행하면 클래스 항목이 프로젝트의 매니페스트 파일에서 다음과 같이 자동으로 업데이트됩니다.

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