나의 에러 일지

Spring - 내 로컬에서만 java.io.FileNotFoundException이 발생할 때 원인과 해결 방법

Cold Bean 2023. 5. 7. 16:10
728x90

배경

프로젝트를 진행하다가 팀원이 풀리퀘스트한 코드를 내 로컬로 가져왔다. 그리고 실행했더니 아래와 같은 에러가 났다.

Caused by: java.io.FileNotFoundException: class path resource [파일 경로] cannot be opened because it does not exist

 

원인

보통 java.io.FileNotFoundException은 프로그램에서 찾으려는 파일이 없거나, 파일의 경로가 잘못되어서 발생하는 예외이지만, 이번에는 팀원이 테스트 검증까지 마친 코드를 푸시했고, 내 로컬에서만 발생하는 문제였다. 아마 내 로컬에서 빌드가 꼬인 상태인 것 같았다.

 

해결 시도(실패)

첫 번째로 시도한 방법은 gradle clean 으로 빌드 디렉토리에 생성된 내용을 한 번 싹 지우고, 다시 빌드하는 것이었지만, 여전히 예외가 발생했다.

 

해결

다른 방법을 찾아보니, 인텔리제이의 빌드가 꼬였을 수 있다는 글을 찾았다. 인텔리제이 빌드가 꼬였을 때의 방법은 다음과 같다.

  • 아까와 같이 오른쪽 Gradle 탭으로 들어간 후 아래 이미지와 같은 아이콘을 클릭해준다. 해당 아이콘은 Reload All Gradle Projects이다.
    • Reload All Gradle Projects는 모든 Gradle 프로젝트를 다시 빌드하고 모든 종속성과 플러그인을 다시 로드해준다.

  • 이후 위 build 메뉴에서 Rebuild Project를 눌러준다.
    • Rebuild Project를 클릭하면 IntelliJ는 이전에 생성된 모든 빌드 파일을 삭제한 다음 처음부터 다시 빌드한다.

아마 처음부터 다시 빌드하는거라 약간의 시간이 걸릴 수 있다.

이 방법을 통해 문제를 해결했다!

 

마무리

당연히 코드 내 문제인줄 알았는데 IntelliJ의 빌드가 꼬인건줄은 생각 못했다. 꽤 많은 시간이 들어가서 힘이 쭉 빠졌지만 어쨌든 해결해서 기분이 좋다!

 

728x90