반응형
jar 파일 생성 후 no main manifest attribute in 오류가 발생하는 경우가 있다
서버에서 jar를 풀었다가 다시 만드니 발생...
원인:
jar가 실행(java -jar aaa.jar)될때 main method를 못 찾아서 그렇다
jvm이 jar를 실행할때 main method를 찾기 위해 MAINFEST.MF 파일을 읽는다.
여기에 명시되지 않아 오류가 발생
나같은 경우는 jar를 다시 묶을때 MANIFEST.MF 정보가 다시 생성되면서 기존 정보가 날라감
해결:
jar를 다시 묶을때 MANIFEST.MF를 생성하지 않고 기존껄 쓰면 된다.
jar cvmf ./META-INF/MANIFEST.MF ./aaa.jar ./
jar 옵션:
c : 새로운 jar 패키지 파일을 생성
t : jar 패키지내의 파일 리스트를 출력
x : jar 패키지의 압축을 품
f : c, t, x 옵션에 대해 사용할 jar 파일 이름을 지정
v : jar 패키징 도구 수행중 수행 관련 메세지를 출력
m : mainfest 파일 이름을 지정
O : 압축하지 않고 묶기만 함
M : mainfest 파일을 생성하지 않음
u : jar 패키지의 내용을 업데이트
i : 해당 jar 파일과 Class-Path 필드를 통해 참조되는 jar 파일에 대한 정보를 INDEX.LIST 파일로 생성
-C : 지정된 디렉토리의 파일들을 포함
반응형
'Java' 카테고리의 다른 글
window SDKMAN 설치 (0) | 2023.06.14 |
---|---|
spring boot properties 여러개(분기) 동적으로 사용하는 방법 (0) | 2022.05.31 |
로컬에 있는 jar파일 추가하는 방법(gradle) (0) | 2022.05.31 |
Mapper로 SQL 호출하기 (0) | 2022.04.08 |
java 이미지 저장 시 손실 최소화 (0) | 2022.03.22 |