배포2 java.lang.NoClassDefFoundError: 외부 라이브러리 리눅스 배포시 java.lang.NoClassDefFoundError: 외부 라이브러리 에러가 발생한다. 몇시간째 구글링한 결과 크게 2가지로 나뉘는 것을 알았다. 1. 버전이 맞지 않은 경우. 나같은 경우는 gradle을 통해 외부 라이브러리를 추가했다. 만약 서로 의존하는 라이브러리간 버전이 맞지 않으면 참조할수 없어 오류가 발생할수 있다. 따라서 버전을 맞춰주면 해결됨 2. classpath 가 옳게 설정되지 않은 경우. gradle 을 통해 불러온 라이브러리는 /Users/${USERNAME}/.gradle/caches/modules-2/files-2.1/${packageName}/${libname} 에 저장된다. 따라서 소스 코드 내부에서 외부 라이브러리를 임포트해서 사용할때, 라이브러리가 직접.. 2023. 10. 22. 배포 deploy.sh 문제 의 도움을 받아 배포를 시도하고있다. 배포 코드중 현재 실행중인 jar파일의 프로세스를 찾아오는 PID=$(pgrep -f ${PROJECT_NAME}*.jar) 명령어가 제대로 작동하지 않아 한참을 해맸다. chat GPT와 구글링을 병행한 결과, 아마도 AWS Linux2와 책의 코드간의 호환성? 그런 문제로 추측된다. 확인해볼 방법이 없다. ps -ef | grep -v "grep" | grep "원하는 프로세스 이름" | awk "{print $2}" 해당 명령어로 찾아올수 있었다. 2023. 7. 18. 이전 1 다음