대충벌레 블로그
article thumbnail
반응형

환경

인텔리제이 그리고 JDK 17 버전에서 테스트 되었습니다.

 

JAR 생성

Project Structure - Artifacts 에 들어와 줍니다. 저는 생성해서 목록에 있지만 처음에는 비어있습니다

+ 버튼을 눌러서 JAR - From modules with dependencies 를 눌러줍니다.

Java Project 인 경우 Module 에 프로젝트 이름이 나올것입니다.

Main Class 를 눌러서 실행할 Main class 를 선택해줍니다.

META-INF/MANIFEST.MF 경로가 src\main\java 로 된다는 블로그 글이 있어서 제대로 src\main\resources 로 되있는지 확인 하면 될거같습니다.

제대로 추가가 되었는지 확인합니다.

 

Build

상단의 Build - Build Artifacts 를 눌러줍니다.

생성한 .jar -> Build 를 해줍니다.

정상적으로 작동시 out 디렉토리에 jar 파일이 생성됩니다.

테스트

경로에 jar 파일을 더블클릭하면 정상적으로 실행이 되야하는데 오류가 있는지 실행이 되지않고있습니다.

이유를 알아보기 위해 CMD 혹은 PowerShell 을 열어줍니다.

 

no main manifest attribute, in .\java-gradle.jar

jar 파일에서 처음 호출한 Main 메소드를 찾지 못하는 에러입니다. 

MANIFEST.MF 파일에 명시가 되야 하는데 인텔리제이 에러인지 제가 만든 프로젝트 에러인지 정상적으로 되지않아서 

블로그 경우 pom을 수정하거나 build.gradle 을 수정하는 경우도 있엇지만

제가 해결한 임시 방편을 알려드리겠습니다.

 

No main manifest attribute 해결방안

jar 파일의 압축파일을 열어보게 되면 META-INF 폴더가 있습니다. 거기에서 MANIFEST.MF 파일을 수정해야합니다.

반디집의 경우 압축 해제할 필요 없이 바로 파일눌러서 편집하면 됩니다.

여러 정보가 써있는데 마지막 Main-Class : 클레스이름을 적어줍니다.

굳이 일일이 적어주지 말고 틀릴수도 있으니 src/main/resources에 META-INF 폴더에 있는 MANIFEST.MF 를 참고하시면 됩니다. 저장하시고 반디집 확인해보시면 적용에 예를 누르시고 jar 파일을 다시 확인해보시면 정상 실행됩니다.

 

 

Swing 으로 가볍게 만들어본 딜레이 마다 마우스 움직이는 프로그램 입니다.

다음에는 jar 파일에 이어 사람들에게 익숙한 exe 파일로 만들어보겠습니다.

반응형
profile

대충벌레 블로그

@대충벌레

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!