어플리케이션 deploy 시 아래와 같은 에러가 발생하는 상황이 있다.
ClassNotFoundError, NoClassDefFoundError, NoSuchMethodError
어플리케이션 내 라이브러리와 WAS서버 내 라이브러리 간 우선순위 충돌로 인해 발생하기도 하지만,
대부분 어플리케이션 내 라이브러리에 특정 jar 파일이 없어서 발생하는 의존성 문제가 대부분이다.
jar 파일의 버전이 너무 낮거나 높아서 발생하기도 한다.
ClassNotFoundError, NoClassDefFoundError, NoSuchMethodError 등의 에러 발생 시
WAS 서버 로그에 어떤 class나 method가 문제되어서 에러가 발생했는지 확인 가능하다.
해당 class 혹은 method 명을 포함하는 jar 파일이
어플리케이션 라이브러리 내에 있는지 우선 확인해보면 좋다.
find와 grep 명령어를 조합하여 확인할 수 있다.
#. 사용 방법
grep '찾고자 하는 키워드' `find ./ -name "*.jar"`
#. 사용 예시
org.apache.tomcat.util.buf.Base64 클래스를 포함하는 jar 파일을 찾기
grep 'org.apache.tomcat.util.buf.Base64' `find ./ -name "*.jar"`
'OS > LINUX, UNIX' 카테고리의 다른 글
[linux] openjdk 설치 명령어 (0) | 2024.08.05 |
---|---|
[Linux] 커널 파라미터 - 네트워크 파라미터 튜닝 (0) | 2024.04.15 |
[UNIX/LINUX] grep 시 윗줄, 아랫줄 내용 같이 출력하기 (0) | 2022.03.21 |
[UNIX/LINUX] 실행 중인 java 프로세스 확인 명령어 (0) | 2022.03.14 |
[Linux/Unix] tail -f 로 출력되는 내용을 별도 파일에 write 하기 (0) | 2022.03.09 |