에러
Linux에서 jar파일 실행 시 no main mainfest attribute in 에러가 발생하였다 !
찾아보니 JVM이 main메서드를 찾지 못해 발생하는 에러였다.
해결방법
Spring Boot 2.5.0 이상 버전과 gradle을 사용 시 빌드할 경우 아래와 같이 jar파일이 2개 생성된다고합니다.
1. 앱이름.jar -> bootJar Task로 생성된 것
2. 앱이름-plain.jar -> build Task로 생성된 것
첫 번째 jar파일은 해당 프로젝트에 필요한 모든 의존성이 같이 추가된 것으로 모두 정상적인 형태로 나오는 반면 plain.jar파일은 의존성을 제외하고 딱 프로젝트에 있는 자원들만 jar파일로 만든 것으로 spring 관련 의존성이 빠저 main메서드의 위치가 나오지 않습니다.
여기서 앱이름-plain.jar 파일을 java -jar로 실행하면 no main mainfest attribute in에러가 발생합니다.
결론은 ! 빌드할 때 bootJar로 빌드해라 !
앱 이름-plain.jar를 생성하지 않기 위해서는 아래 명령어를 build.gradle에 추가해주면됩니다 !

'Error' 카테고리의 다른 글
| [Github, Git] 리포지토리 폴더 접속 안될 때 (2) | 2024.09.07 |
|---|---|
| [Error] MySQL net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl (0) | 2024.08.16 |
| [Java, 자바] Access-Control-Allow-Origin 두 개 포함 에러 (0) | 2024.04.29 |
| [EKL] Elasticsearch Cors 해결 방법 (0) | 2024.04.23 |
| [React] npm start, Proxy관련 오류 (0) | 2024.03.21 |