본문 바로가기
[개발] Programming/Server

톰캣 서버가 클래스를 못 찾는 오류 - 클래스 파일 인식 문제 몇 가지

by eatyourKimchi 2021. 3. 14.

톰캣 서버 클래스 파일 인식 오류

 

 톰캣(WAS) 서버에서 생기는 문제는 보통 해결하는데 많은 시간이 소요될 수 있습니다. 가끔 이해가 안 되는 오류가 생기면.. 몇 시간은 금방 날아가죠ㅠ 그래서 오늘은 지금까지 운영 업무를 하면서 겪은 클래스 파일 인식 오류에 대해 정리해 봤습니다.

 

 

1. 톰캣 재기동

 클래스 리로드 설정이 안 되어 있다면 클래스 파일 반영 후 톰캣을 재기동하면 됩니다. reload 설정을 하다면 클래스 한 두 개 반영할 때는 자동으로 로딩이 되죠.

 

2. work 하위 폴더 삭제

 두 번째는 톰캣 내부에 work 디렉토리 하위를 삭제하는 방법입니다. 보통 아래와 같이 경로를 들어가서 그 밑에 있는 폴더를 다 삭제해도 되고 catalina 아래 해당 사이트의 폴더만 삭제해도 됩니다.

'Tomcat \work\Catalina'

 

이 방법으로 대부분의 오류는 해결됩니다. 이유는 사용자가 페이지를 로딩하면 톰캣은 해당 파일들을 자신의 work 디렉토리 하위로 로딩하게 되는데, 이전에 남아 있던 파일들이 교체가 안 되는 증상이 한 번씩 발생하기 때문이죠.

 

 

3. 소스 파일 다시 업로드

 최근에 발생한 케이스인데요.. 정말 많은 시간을 날렸습니다. 의심되는 원인은 100개가 넘는 파일을 한 번에 반영하면서 폴더나 파일의 권한에 문제가 발생한 것 같습니다. (윈도우 서버라 그런 건지..) 리눅스에서는 한 번도 발생한 적이 없었는데..

 

그래서 기존 소스를 전부 삭제하고 동일한 소스를 다시 서버에 업로드 하니 문제가 해결되었습니다. 그전에는 계속 클래스 파일들을 읽어오지 못하더니 드디어 며칠 만에 해결됐네요. 아마도 많은 수의 폴더와 파일을 추가하고 덮어 씌우다가 문제가 생긴 것 같습니다.

 

 

 

 그리고 마지막으로 위 방법으로도 해결이 안 된다면 코딩 실수일 겁니다.. ㅎㅎ 주로 톰캣이 올라오는데 클래스를 못 찾으면 톰캣이 이상한 거고 톰캣이 올라오다가 실패하면 개발 실수 일 가능성이 높습니다.

 

 

댓글