시간을 꽤 많이 들여 찾으려 노력했던 일인데 너무나도 쉽게 해결돼버렸다.
이걸두고 해결이라고 말하는게 맞나 싶은데... 당장 예정되어 있는 일정이 있어 일단 급하게 막아보았다. 이것도 TIL로 넣는게 맞나?... 아무튼 하나 또 배우긴 했다......
jar파일을 풀었다가 다시 압축하면 자꾸만 에러가 났다. MANIFEST.MF 파일의 문제는 해결되었는데, 그 파일에서 지정해준 main class (spring boot의 경우 boot main class) 를 찾지 못하는 에러...
<진행한 상황>
1. jar 파일을 압축해제한다 [ jar xvf jarfile.jar ]
2. 해제한 폴더들을 jar파일로 압축한다 [ jar cvf newName.jar ./META-INF/MANIFEST.MF ]
=> ./META-INF/MANIFEST.MF 이것을 붙이지 않으면 기동했을 때 에러로 MANIFEST가 없다고 나옴
3. 2번을 진행할 때 ./META-INF 경로에 MANIFEST.MF 파일은 이미 존재한다.
4. 만들어진 jar파일을 기동한다. [ java -jar newName.jar ]
5. 에러가 발생한다. [ 오류: 기본 클래스 org.springframework.boot.loader.JarLauncher을(를) 찾거나 로드할 수 없습니다 ]
그러다가 찾아보니 반디집으로 해결이 가능한 것을 알게되었다.
class 파일을 수정하는 것이 아니라 properties 파일만 수정하는 것이기 때문에!
반디집에서 압축을 풀지 않고, 압축 미리보기 상태에서 수정 후 저장하면 된다.
테스트 : application.yml 파일에서 server.port만 수정해보고 터미널에서 기동해보면 반영된 것을 알 수 있다.
'TIL' 카테고리의 다른 글
[TIL] filter와 intercepter (0) | 2023.05.29 |
---|---|
[TIL] @value 어노테이션에 null만 찍혔다. (0) | 2023.05.28 |
[TIL] jar파일 압축, 압축해제 커맨드 명령어 (0) | 2023.05.25 |
[TIL] ''은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. - 해결 (0) | 2023.05.24 |
[TIL] oracle system 계정이 잠겼습니다. 해결하기 (0) | 2023.05.21 |